typeof VS instanceof
欢迎访问我的博客,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~
相同点:JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的
区别:前者判断数据类型较多,后者判断一个变量是否属于某个对象实例
typeof的定义和用法:返回值是一个字符串,用来说明变量的数据类型。
细节:
typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined
typeof 来获取一个变量是否存在,如
if(typeof a!="undefined"){alert("ok")},而不要去使用if(a)因为如果a不存在(未声明)则会出错。对于
Array,Null等特殊对象使用typeof一律返回object,这正是typeof的局限性。
Instanceof定义和用法:instanceof用于判断一个变量是否属于某个对象的实例。
实例演示:
1 | var a = new Array(); |
如上,会返回 true,同时 alert(a instanceof Object) 也会返回 true;这是因为Array 是 object 的子类
1 | function test(){}; |
本文深入探讨JavaScript中的typeof和instanceof操作符的区别与应用。typeof用于判断变量的基本数据类型,包括number、boolean、string、function、object和undefined。instanceof则用于检查一个变量是否为特定构造函数的实例,如Array或自定义函数的实例。文章通过实例演示了两者的使用场景,特别指出Array实例在使用typeof时会被误判为object。
1498

被折叠的 条评论
为什么被折叠?



