js数据类型有哪些,以及检测数据类型的方法---面试必问基础题1

Posted 咖啡壶子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数据类型有哪些,以及检测数据类型的方法---面试必问基础题1相关的知识,希望对你有一定的参考价值。

前言:js面试题,先更新点简单的。(持续更新js面试题)

  1. js的数据类型(难度:★)

    答:基本数据类型:Number类型,String类型,Booolean类型,Null类型,Undefined类型,

    复杂数据类型:Array类型,Object类型,Function类型

  2. 如何判断变量的数据类型,有几种方法(难度:★)

    答:

    • typeof

      <script>
              var a = "iamstring.";
              var b = 222;
              var c = [1, 2, 3];
              var d = new Date();
              var e = function () { alert(111); };
              var f = function () { this.name = "22"; };
              console.log(typeof a);//string
              console.log(typeof b);//number
              console.log(typeof c);//object
              console.log(typeof d);//object
              console.log(typeof e);//function
              console.log(typeof f);//function
          </script>
      
    • instanceof判断构造函数的prototype是否出现再实例对象的原型链上。

              console.log(a instanceof Object);//false
              console.log(b instanceof Number);//false
              console.log(c instanceof Array);//true
              console.log(d instanceof Date);//true
              console.log(e instanceof Function);//true
              console.log(f instanceof Function);//true
      
    • constructor返回创建实例对象的 Object 构造函数的引用。(对象.constructor)

       		console.log(a.constructor === String)// true
              console.log(b.constructor === Number)// true
              console.log(c.constructor === Array)// true
              console.log(d.constructor === Date)// true
              console.log(e.constructor === Function)//true
      
    • Object.prototype.toString.call()===’[object Array]’

      		console.log(Object.prototype.toString.call(a) === '[object String]')// true;
              console.log(Object.prototype.toString.call(b) === '[object Number]') // true;
              console.log(Object.prototype.toString.call(c) === '[object Array]')// true;
              console.log(Object.prototype.toString.call(d) === '[object Date]') //true;
              console.log(Object.prototype.toString.call(e) === '[object Function]') //true;
              console.log(Object.prototype.toString.call(f) === '[object Function]')//true;
      
    • jQuery.type().无敌万能的方法。

      1. ​ 如果对象是undefined或null,则返回undefined或null。

      2. 如果对象有一个内部的对象和一个浏览器的内置对象,我们返回相应的对象名称。

         jQuery.type(undefined) === "undefined"
                jQuery.type() === "undefined"
                jQuery.type(window.notDefined) === "undefined"
                jQuery.type(null) === "null"
                jQuery.type(true) === "boolean"
                jQuery.type(3) === "number"
                jQuery.type("test") === "string"
                jQuery.type(function () { }) === "function"
                jQuery.type([]) === "array"
                jQuery.type(new Date()) === "date"
                jQuery.type(new Error()) === "error"
                jQuery.type(/test/) === "regexp"
        

以上是关于js数据类型有哪些,以及检测数据类型的方法---面试必问基础题1的主要内容,如果未能解决你的问题,请参考以下文章

JS中检测数据类型的四种方法

js中的数据类型,以及如何检测数据类型

JS类型判断的几种方式

数据类型及类型检测

js判断数据类型方法汇总

1. js数据类型_对象_函数_内存