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("你要检测的数据类型值"),可以比较准确的得到你想要的数据类型是什么 参考技术Atypeof是判断类型
比如
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, null, 和 undefined