如果一个实例,通过继承而来,那么在这个实例上通过字面量的形式改变原型上存在的方法,会不会改变原型?
为什么你不写两行代码,自己来尝试一下呢?测试这么个功能,并不需要很多代码吧
function ClassA(){};
ClassA.prototype.a = "原型链";
var test = new ClassA();
console.log(test.a);
test.a = "自定义";
console.log(test.a);
delete test.a;
console.log(test.a);
所以,你觉得会不会覆盖?
做个补充
var Person = function(name){
this.name = name;
}
Person.prototype.getName = function(){
console.log(this.name);
}
var p1 = new Person('张三');
p1.getName = function(){
this.name = '李四';
console.log(this.name);
}
var p2 = new Person('王五');
p1.getName(); // 李四
p2.getName(); // 王五
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
这个和继承没什么关系。举个例子来说: