typeof 和 instanceof 比较
数据类型:
Number, String, Boolean, Undefined, Object, Function, Array, Null
-
值类型:Number, String, Boolean, Undefined
-
引用类型:Array, Object, Function, Null
typeof
通过返回一个字符串,说明遍历的数据类型。
无法判断引用类型的具体数据类型 (除引用类型的 function 外)
console.log(typeof [1,4,3]); // object
console.log(typeof obj{}); // object
console.log(typeof null); // object
console.log(typeof function(){}); // function
instanceof
- 除了基本数据类型,还可以判断引用类型的具体数据类型
var arr = [];
console.log( arr instanceof Array); //true
- 可以在继承关系中判断一个实例是否属于它的父类型
f instanceof Foo, 判断逻辑:
f 的 _proto_ 一层一层网上,能否找到 Foo.prototype
f._proto_
f instanceof Object, 判断逻辑:
f._proto_._proto_