javascript 学习 五 typeof 与 instanceof 的区别
ECMAscript 数据类型 简单数据类型和 复杂数据类型
简单数据类型
也可以叫做 基本类型
null 、undefined、string、number、boolean
复杂数据类型
也可以叫做 引用类型
object 包括 array object function RegExp 四种
在IE 和firefox 中 typeof function 会返回 object 。其他浏览器较老的版本会返回 function
typeof
返回测试测数据的数据类型。
typeof 返回的类型 number boolean string undefined object 当数据是function 时,会返回 function
如果是数组 或者null 的时候,也会返回object 。
instanceof
首先instanceof是用来检测时何种引用类型,当基本类型数据使用instanceof 的时候,始终会返回 false
但有时 想知道是哪一种对象时,使用typeof 并不能满足需求,这时就要 使用 instanceof 来哦按段具体是哪一种 对象类型。
a instanceof Array a是不是 数组类型。如果是,则返回true,同时也满足 a instanceof Object 返回true
var c = ["a","b","asdasd"]; //数组 //c是对象类型数据,同时也是对象类中的数组类型数据 console.log(c instanceof Array); //true 返回的true console.log(c instanceof Object); //true 返回的true