前端是万能的让前端飞Web 前端开发

JS中的 Instanceof

2017-07-20  本文已影响19人  肆意木

<h4> Instanceof 的功能类似与 typeof </h4>
对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/function,你不知道它到底是一个object对象,还是数组,还是new Number等等。

nstanceof运算符的第一个变量是一个对象,暂时称为A;第二个变量一般是一个函数,暂时称为B。

Instanceof的判断队则是:沿着A的proto这条线来找,同时沿着B的prototype这条线来找,如果两条线能找到同一个引用,即同一个对象,那么就返回true。如果找到终点还未重合,则返回false。

<h3>分别举栗子</h3>

<strong> typeof 判断类型是什么,比如:</strong>

var a = 1;
var b = {};
var c = [];
function d() {

}

console.log(typeof (a));
console.log(typeof (b));
console.log(typeof (c));
console.log(typeof (d));

输出结果:


jianshu.png

<strong>Instanceof 是判断一个对象是否为某一数据类型,举栗子:</strong>

function test() {

}
console.log(test instanceof Function);
console.log(Function instanceof test);

结果:

jianshu.png

<h6>看了好多文档,得出结论 Instanceof 用在原型链这边会更方便。<h6>

上一篇下一篇

猜你喜欢

热点阅读