ry928330
ry928330
@mqyqingfeng 你好,想请问你两个问题:一个是:4.1动态原型的模式,“使用字面量方式直接覆盖 Person.prototype,并不会更改实例的原型的值”这是为什么?另一个是5.1 寄生构造函数模式,在调用的时候和工厂模式相比,就多了一个new调用,这个有什么用?
@mqyqingfeng 那现在怎么通过Person再找回原来的prototype(也就是O)呢,因为像这样 function Person(name) { this.name = name; } var person1 = new Person('kevin'); person1.__proto__ === Person.prototype //true 现在给Person.prototype重新赋值为一个字面量后,person1.__proto__ === Person.prototype 肯定是false,那还能从Person这个构造函数(对象),找到原来的prototype么(也就是O)?
@mqyqingfeng 那现在怎么通过Person再找回原来的prototype(也就是O)呢,因为像这样 function Person(name) { this.name = name; } var person1 = new Person('kevin'); person1.__proto__ === Person.prototype //true 现在给Person.prototype重新赋值为一个字面量后,person1.__proto__ === Person.prototype 肯定是false,那还能从Person这个构造函数(对象),找到原来的prototype么(也就是O)?
apply的实现,如果传入的第二个参数不是一个数组,原生的apply是会报错的。比如bar.apply(foo, 1)。