delete不能删除用var声明的变量,直接继承自原型的成员。其中delete不能删除继承自圆形的成员,但如果修改了这个成员的值你仍然能够删除它-这将是她恢复到原型的值
function myobj(){
this.name="instance's name";
}
myobj.prototype.name="myname";
var a=new myobj();
alert(a.name);
delete(a.name);
alert(a.name);
第一个alert会显示“instance's name” 而第二个alert会显示“myname”可见delete不能够通过实例来删除原型的及父代类原型的成员
但可以通过下面这条语句来删除name属性
delete a.constructor.prototype.name;
alert(a.name);
alert显示内容为“undefined”