2012-04-13 6 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

+0

データプロパティまたはメソッド/関数プロパティだけを削除しますか? – jfriend00

+0

@ jfriend00私はプロトタイプ関数を削除したくないですが、オブジェクトに関数を持つ属性がある場合、そのオブジェクトを削除したいと思います。たとえば、 myObj.specFunct = function(){};それから私はそれを削除したい。 –

答えて

3

あなたのコードがあるとして罰金です。 deleteのプロトタイプからプロパティを削除するので、hasOwnPropertyを使用する必要はありません。

関連する問題