2012-04-13 178 views
3

如何從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

回答

3

你的代碼似乎罰款的。由於delete不是從原型刪除屬性,你甚至不需要使用hasOwnProperty

相關問題