一分钟了解各种js判断类型方法的优缺点

 

一分钟了解各种js判断类型方法的优缺点

 

 话不多说,开撸...

  方法一:

    typeof 'test' : 只适用于检测基本数据类型( Undefined Null Boolean String Number ),引用类型 统一都是object 或function

 

  方法二:

    A instanceof B:明了的来说,是用来判断 A 是否为 B 的实例;

     1)只能用来判断两个对象是否属于实例关系, 而不能判断一个对象实例具体属于哪种类型;

     2)只适用于单执行环境(窗口),如果该窗口有其他框架(比如 iframe)则会出问题;

    3)注意:对于数组,ES6中新增的isArray 可以跨环境判断;

//外层父级页面的代码:
var arrList=[1,2,3]
//iframe子页面的代码:
alert(parent.arrList instanceof Array);//false alert(parent.arrList instanceof parent.window.Array);//true

  

  方法三:

  constructor 属性返回所有 JavaScript 变量的构造函数

"test".constructor 
//ƒ String() { [native code] }

  

  方法四:Object.prototype.toString.call() 

Object.prototype.toString.call([]) 
//[object Array]

 

 

 

如有错误,欢迎评论指正、共同提高。[握手]    

欢迎转载,转载请注明:转载自[ http://www.cnblogs.com/juneling ]

 

上一篇:ArrList集合去重(转)


下一篇:jquery操作数组对象