从Javascript对象中删除属性

问题描述:

如何从Javascript对象中删除所有属性?从Javascript对象中删除属性

例如;如果我有以下的“类”我怎么能进行复位并删除其所有的属性:

function MyObject() 
{ 
    this.type="blah"; 
    this.name="kkjkj"; 
} 

MyObject.prototype.clearAttribs = function() 
{ 
    // I want to remove name, type etc from 'this' 

    // Maybe I can do the following? 
    for (var key in this) 
     delete this[key]; 
} 
+0

你为什么要这样做? – chuckj 2012-04-13 02:44:58

+0

您是否还想删除数据属性或方法/函数属性? – jfriend00 2012-04-13 02:51:11

+0

@ jfriend00我不想删除原型函数,但如果一个对象有一个属性与它的功能,那么我想删除它。例如; myObj.specFunct = function(){};那么我想删除它。 – 2012-04-13 02:53:19

你的代码似乎罚款的。由于delete不是从原型删除属性,你甚至不需要使用hasOwnProperty