typeof
判断基本变量,返回类型,不能检测对象
console.log(typeof(1)); //number
console.log(typeof("abc")); //string
instanceof
返回布尔值
instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上
function C(){}
var o = new C();
o instanceof C; //true
要是不想那么麻烦还要区分是否用 typeof
还是instanceof
来确认它的类型,可以用constructor 属性;
↓
constructor 属性返回对创建此对象的函数引用。
"John".constructor // 返回函数 String() { [native code] }
(3.14).constructor // 返回函数 Number() { [native code] }
false.constructor // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor // 返回函数 Array() { [native code] }
{name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
new Date().constructor // 返回函数 Date() { [native code] }
网友评论