在javascript中删除它

Deleting this in javascript

本文关键字:删除 javascript      更新时间:2023-09-26

我正在尝试编写一个js函数,我想为其添加destroy()功能。基本上代码是这样的:

 function jsFunc(obj)
 {
    var InputControl=function(){
        //check input object for special rules.
        // i.e  obj.wait_time isn't defined, return false
    }   
    if(!inputControl())
    {
        return false;
    }
    var do_some_operation=function()
    {
        //do something
    }
    var destroy=function()
    {
        delete (this);
    }
 }
var obj={
    wait_time:100,
    //...
}
var xxx= new jsFunc(obj);
$('#button').click(function(){
    xxx.destroy();  
})

当我单击 #button 时,它不执行任何操作。我试图搜索网络,找到一些解决方案并尝试了一下,但它们不起作用。

我为destroy()函数尝试了这些代码:

1.  this=null;
2. for(var i in this)
{
   delete(this[i]);
}

当我使用其中一个时,它会破坏原始功能,soIi 无法再次重新嵌入。有人可以帮助我吗?

delete用于从对象中删除属性。有时人们使用它从全局对象中删除属性,使其看起来像是删除变量。我不认为这是你想要的。

为什么要摧毁this

浏览器和服务器端的 JavaScript 运行时都有自动垃圾回收过程,可以为您释放内存。

通常destroy()会从 HTML/DOM 中删除一些控件并初始化其状态,以便让同一控件的其他实例在同一范围内工作......