不能删除继承自原型的成员
function flower(){};
flower.prototype.name="monkey";
var a1=new flower();
a1.name="a1_monkey"
alert(a1.name);//"a1_monkey"
delete a1.name;//ture
alert(a1.name);//"monkey"
a1是flower的实例,通过实例来删除原型的和父类的成员是不可行的~
如果一定要删除该属性("这里以name为例"),只能对原型进行操纵
delete a1.constructor.prototype.name;
destroy: function() {
this.off();
for (var p in this) {
if (this.hasOwnProperty(p)) {
delete this[p];
}
}
// Destroy should be called only once, generate a fake destroy after called
// https://github.com/aralejs/widget/issues/50
this.destroy = function() {};
}
https://github.com/aralejs/widget/wiki/Base-&-Widget-%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B#%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
这里的base里生命周期,能删除原型链上的所有对象,感觉好像不行的
结果显示 delete 不能删除 用函数名申明的函数