美文网首页
18.instanceof关键字

18.instanceof关键字

作者: Fl_来看看 | 来源:发表于2019-06-06 18:03 被阅读0次

    1.什么是instanceof关键字?

    • instanceof用于判断 "对象" 是否是指定构造函数的 "实例"

    2.instanceof注意点

    • 只要 构造函数的原型对象出现在实例对象的原型链中都会返回true
      function Person(myName) {
                this.name = myName;
            }
            function Student(myName, myScore) {
                Person.call(this, myName);
                this.score = myScore;
            }
            Student.prototype = new Person();
            Student.prototype.constructor = Student;
    
            let stu = new Student();
            console.log(stu instanceof Person); // true
    
    • 只要 构造函数的原型对象出现在实例对象的原型链中都会返回true
    • 那么,Person的原型对象出现在stu 的原型链上吗?
      通过 Student.prototype = new Person()【设为A】;,A是Person的实例,stu如果访问不到属性和方法,会到原型链上找,即Student.prototype,也就是A,A如果找不到,又会到A的原型链上找,那么A的原型链上有Person的原型对象吗?大答案是肯定的,A是Person的实例,即A.proto===Person的原型对象,所以构造函数Person的原型对象出现在实例对象stu的原型链,最终会返回true。

    相关文章

      网友评论

          本文标题:18.instanceof关键字

          本文链接:https://www.haomeiwen.com/subject/wkuuxctx.html