javascript typeof 和 instanceof 的区别和联系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript typeof 和 instanceof 的区别和联系相关的知识,希望对你有一定的参考价值。

区别的话,typeof一般用来检测基本数据类型和函数,因为像数组,正则,对象之类的引用数据类型,用typeof来检测都只返回object ,不能准确的返回类型值, instanceof 一般用来检测某个对象是不是 某个类的实例,返回的结果是布尔值,比如 var arr = []; arr instanceof Array//结果为true; 就是arr这个数组是Array类的一个实例,当然,只要处在 arr 的 上面的原型链中 instanceof 返回的都是true ,比如,arr instanceof Object 结果也是true;因为数组也是一个对象,Array 类的prototype 上的__proto__指向了 Object这个类。联系的话就是这两个方法都可以大致的检测数据类型,但是有时候并不准确,一般稳妥点的方法用Object.prototype.toString.call("你要检测的数据类型值"),可以比较准确的得到你想要的数据类型是什么 参考技术A

typeof是判断类型

比如

typeof 11;//number类型
typeof '11'//string类型

再举一个例子

var arr = [1,2,3,4,5];
typeof arr;//Array?

这里并不显示Array类型而是 Object;

但我们可以通过是不是Array的实例来判断是不是这个类型

arr instanceof Array;//true

本回答被提问者采纳

以上是关于javascript typeof 和 instanceof 的区别和联系的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中的typeof和instanceof

javascript typeof 和 instanceof 的区别和联系

javascript中typeof和instanceof

JavaScript typeof, null, 和 undefined

JavaScript-Runoob:JavaScript typeof, null, undefined

关于JavaScript中的typeof与instanceof