Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以从内存中删除匿名创建的对象(Backbone.js示例)_Javascript - Fatal编程技术网

Javascript 是否可以从内存中删除匿名创建的对象(Backbone.js示例)

Javascript 是否可以从内存中删除匿名创建的对象(Backbone.js示例),javascript,Javascript,假设我在一个集合中有一些模型和视图,这些模型和视图都绑定了事件。将其附加到DOM的一种简单方法是使用“一行程序” $('body').html(new MyView({ collection: new MyCollection() }).el); 这里请注意,模型有一些事件监听器CRUD,集合有一些,视图有一些 现在我们已经完成了这个视图,我们想更改视图。我们可以这样做 $('body').html(new MyNextView({ collection: new MyNextCollecti

假设我在一个集合中有一些模型和视图,这些模型和视图都绑定了事件。将其附加到DOM的一种简单方法是使用“一行程序”

$('body').html(new MyView({ collection: new MyCollection() }).el);
这里请注意,模型有一些事件监听器CRUD,集合有一些,视图有一些

现在我们已经完成了这个视图,我们想更改视图。我们可以这样做

$('body').html(new MyNextView({ collection: new MyNextCollection() }).el);
现在页面上有了所有的新元素,但是所有的旧元素仍然存在。我们需要一种方法来解除所有对象中所有事件的绑定

有没有办法做到这一点

-


我知道,如果您保存一个包含所有存储对象的数组,这是可能的。这样,您就可以在数组中循环并解除所有对象中所有事件的绑定。我只是想知道,对于匿名创建的对象,这是否可行。

如果您可以引用视图的元素,例如,因为您知道id,那么调用$el.remove将从DOM中删除该视图,并且只要该视图没有侦听其el之外的DOM元素,就应该删除任何基于DOM的事件绑定

但这并不一定意味着它将从内存中删除-您可能仍然需要注意并处理对视图和集合的其他引用