美文网首页Web前端开发
前端数据类型判断

前端数据类型判断

作者: 暴躁肥猫 | 来源:发表于2019-11-14 15:05 被阅读0次

闲来无事,控制台打印着玩


== 和 === 判断的区别:

== 表示相等 (值相等)

===表示恒等(类型和值都要相等)

例:1=='1':true

        1==='1' false


数据类型判断:

使用typeof判断数组和对象都会返回object

还有例如typeof(Number)   typeof(Number(10))   typeof(new Number(10)) 都会不一样

对于Array和Object 对象的检测,这里方法可以参考一下:


1.对于Es5,变量名字.isArray( )可以实现这个目的

    var a=[];

    var b={};

    Array.isArray(a);//true

     Array.isArray(b)//false

2.对于大部分主流,一般都使用这个方法

if (!Array.isArray){

    Array.isArray = function(arg){

        return Object.prototype.toString.call(arg) === '[object Array]';

    };

}

对于是不是对象:

1.toString方法 (推荐)

Object.prototype.toString.call(obj) === '[Object Object]'

2、constructor

obj.constructor === Object

3、instanceof 需要注意的是由于数组也是对象,因此用 arr instanceof Object 也为true。

obj instanceof Object

4、typeof

typeof obj === Object

// 根据typeof判断对象也不太准确

表达式                       返回值

typeof undefined       'undefined'

typeof null               'object'

typeof true               'boolean'

typeof 123               'number'

typeof "abc"           'string'

typeof function() {}   'function'

typeof {}               'object'

typeof []               'object'

相关文章

网友评论

    本文标题:前端数据类型判断

    本文链接:https://www.haomeiwen.com/subject/cmxbyqtx.html