Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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 删除主干中的变量_Javascript_Variables_Backbone.js_Delete Operator - Fatal编程技术网

Javascript 删除主干中的变量

Javascript 删除主干中的变量,javascript,variables,backbone.js,delete-operator,Javascript,Variables,Backbone.js,Delete Operator,Iam开发跨平台应用程序,Iam使用主干框架 我有很多观点,我的观点如下 例如: sampleFunction: function() { var sampleObject = new window.sampleView(); sampleObject.Render(); } 然后我的一个朋友碰巧看到了我的代码,他说,在函数中创建的每个变量都应该被删除 sampleFunction: function() { var sampleObject = new window

Iam开发跨平台应用程序,Iam使用主干框架

我有很多观点,我的观点如下

例如:

sampleFunction: function() {
    var sampleObject = new window.sampleView();

    sampleObject.Render();
}
然后我的一个朋友碰巧看到了我的代码,他说,在函数中创建的每个变量都应该被删除

sampleFunction: function() {
    var sampleObject = new window.sampleView();

    sampleObject.Render();
    delete sampleObject;
}
我搜索了整个网络,找不到任何与他的理论相关的东西。在网络上,它说变量永远不会被删除

所以我给他看了一个样本如下

<script>
    function onBodyLoad() {
        var test = "i'am alive";

        delete test;
        alert(test);
    }
</script>

<body onLoad="onBodyLoad()">

函数onBodyLoad(){
var test=“我还活着”;
删除测试;
警报(测试);
}
  • 所以我的问题是delete操作符真正做什么?仅用于删除对象属性

  • 当使用MV框架(如主干)时,向DOM提供的对象和变量会发生什么变化

  • 加载新视图时是否会清除对象和变量

  • 我们是否需要在每次加载另一个视图之前解除绑定或破坏视图


关于delete操作符,它将从对象中删除属性。它不会做任何与释放内存有关的事情

在主干网中,只要模型附加了一些视图,它就会在DOM中。view.remove()将从DOM中删除视图和附加的模型

创建新视图不会删除现有视图。您可以设置侦听器,以便在创建新视图时删除现有视图

见这个问题: