跳到正文
当下的七炎
返回

认识__proto__和prototype

编辑文章

首先来批评一下这张图吧,画的真差,看睡着了,醒过来才看懂 我们给它标个序号,来分析一下

image

举个例子

    function People(name, age) {
      this.name = name;
      this.age = age;
    }
    People.prototype.run = function() {
      return "i im run --";
    };

    function Student(name, age, sex) {
      People.call(this, name, age);
      this.sex = sex;
    }
    Student.prototype.speak = function() {
      return "i im speak";
    };
    // Object.setPrototypeOf(Student.prototype, People.prototype);

    let s1 = new Student("悟空", 23);
    let p1 = new People("吴京", 24);
    console.log("s1.name", s1.name);
    // console.log("p1", p1.speak());
    // console.log("s1.run", s1.run());
   //console.log(Student.__proto__ == Function.prototype);

第一步: s1.__proto__===Student.prototype 第二步: 这一步没有谁等于谁,谁指向谁 第三步: Student.prototype.__proto__ === Object.prototype 第四步: Student.__proto__ === Function.prototype 第五步: 这一步没有谁等于谁,谁指向谁 第六步: Object.__proto__ === Function.prototype 第七步: 这一步没有谁等于谁,谁指向谁 第八步: Function.prototype.__proto__ === Object.prototype

总结一下


编辑文章
分享这篇文章:

评论

使用 GitHub 账号登录后即可评论


上一篇
new操作符做了什么?
下一篇
fetch超时处理