网站搜索

从 Javascript 对象中移除属性


如何从一个 Javascript 对象中移除所有属性?

例如;如果我有以下的 'class',我如何执行重置并移除它的所有属性:

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];
}

答案#1

你的代码看起来没问题。由于 delete 不会 删除原型上的属性,你甚至不需要使用 hasOwnProperty。