2012-04-13 4 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.

Смежные вопросы