1、typeof
操作符返回一个字符串,指示未经计算的操作数的类型。【检测不出是否为Array】
alert(typeof null); // "object"
alert(typeof function () {
return 1;
}); // "function"
alert(typeof 'hhh'); // "string"
alert(typeof 1); // "number"
alert(typeof a); // "undefined"
alert(typeof undefined); // "undefined"
alert(typeof []); // "object"
2、instanceof
运算符用来检测 constructor.prototype
是否存在于参数 object
的原型链上。
(A instanceof B ,检测B.prototype是否在A的原型链上。)
var arr = [1,2,3,1];
alert(arr instanceof Array); // true
【可以检测出是数组类型,但跨frame实例化的对象彼此是不共享原型链的,所以会出错】