一分钟了解各种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 ]