类型检测
2018-09-15 本文已影响7人
阿提艾斯
一、方法
1、typeof
适合基本类型及function检测,遇到null失效。
例子:typeof 100 ——"number"
typeof true——"boolean"
typeof function——"function"
typeof(undefined)——"undefined"
typeof new Object()——"object"
typeof [1,2]——"object"
typeof NaN——"number"
typeof null——”object"为了兼容
2、instanceof
instanceof基于原型链的判断操作符。
适合自定义对象,也可以用来检测原生对象,在不同iframe和window间检测时失效。
语法:obj instanceof Object,返回true或false
例子:[1,2] instanceof Array===true
3、Object.prototype.toString
例子:
Object.prototype.toString.apply([]);——"[object Array]"
Object.prototype.toString.apply(function(){});——"[object Function]"
Object.prototype.toString.apply(null);——"[object Null]"
Object.prototype.toString.apply(undefined);——"[object Undefined]"
4、constructor
5、duck type鸭子类型
参考资料:
[1] https://www.imooc.com/video/5677