JS中的 Instanceof

<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>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.对象是什么 对象就是若干属性的集合。 在JS中一切引用类型都是对象:数组是对象,函数是对象,对象还是对象。对象...
    liushaung阅读 4,927评论 0 2
  • 又介绍一个老朋友——instanceof。 对于值类型,你可以通过typeof判断,string/number/b...
    为君梳作半面妆阅读 1,605评论 0 1
  • 0 写在前面的话 大多数的面向对象编程语言中,比如C++和Java,在使用他们完成任务之前,必须创建类(class...
    自度君阅读 4,640评论 0 3
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 5,617评论 0 6
  • 昨晚注册简书,本想发表点什么的,可是晚上相亲,男孩带我去吃砂锅,7点回来自己又吃了两个蒸蛋糕,胃难受,还是忍不住地...
    樱朵阅读 1,508评论 0 0