lizhongzhen11 / lizz-blog

前端学习
80 stars 6 forks source link

重学js —— 继承与原型链 #135

Open lizhongzhen11 opened 4 years ago

lizhongzhen11 commented 4 years ago

继承与原型链

规范看:https://tc39.es/ecma262/#sec-objects MDN看:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain

主要为了写点代码,来自高级前端面试小程序 js基础 第24题

function Foo() {
  Foo.a = function() {
    console.log(1)
  }
  this.a = function() {
    console.log(2)
  }
}

Foo.prototype.a = function() {
  console.log(3)
}
Foo.a = function() {
  console.log(4)
}

Foo.a() // 4   此时没有实例化,Foo上的属性没变
let obj = new Foo();
obj.a(); // 2   实例化后,会给该实例添加属性 a
Foo.a(); // 1  实例化后,改变Foo上的属性 a