Legilimens
2016-06-15 14:23
想问两个结果输出的为什么不一样。
function foo(){}
foo.prototype.z = 5;
var obj = new foo();
obj.z = 7;
console.log(obj.z); //输出7
delete obj.z;
console.log(obj.z);//输出5function foo(){
this.z = 5;
}
var obj = new foo();
obj.z = 7;
console.log(obj.z); //输出7
delete obj.z;
console.log(obj.z);//输出undefined
自己有了就不会在沿着原型链查找这个属性了
<script> "使用porototype的时候,相当于是把Z放在另一个盘子共享出来;你使用this的时候,一new一个对象出来,同时也会把this.z也在对象里面,你重新给z赋值就会替换了自身的z"; </script>
第一个是 2个z 不是同一个 ,第二个 是同一个
JavaScript深入浅出
281087 学习 · 1054 问题
相似问题