<js高程>里面的对象冒充,不明白objB.sayColor();这句为什么会运行正确?
问题:delete this.newMethod;这句已经删除了对ClassA中的方法和属性的引用,为什么objB.sayColor();还能执行正确?function ClassA(sColor){objB.sayColor();
this.color=sColor;
this.sayColor=function(){
alert(this.color);
}
}
function ClassB(sColor,sName){
this.newMethod=ClassA;
this.newMethod(sColor);
delete this.newMethod;
this.name=sName;
this.sayName=function(){
alert(this.name);
}
}
var objA=new ClassA("red");
var objB=new ClassB("blue","Nick");
objA.sayColor();
objB.sayColor();
objB.sayName();
[ 本帖最后由 境善 于 2015-5-15 09:54 编辑 ]