Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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 delete和$destroy之间的区别_Javascript_Angularjs_Memory Leaks - Fatal编程技术网

Javascript delete和$destroy之间的区别

Javascript delete和$destroy之间的区别,javascript,angularjs,memory-leaks,Javascript,Angularjs,Memory Leaks,我一直在研究angularjs的内存泄漏管理,我遇到了$destroy,但在JavaScript中已经有一个delete关键字。两者之间有区别吗?在JavaScript中,删除操作符从对象中删除属性;如果不再保留对同一属性的引用,则最终将自动释放该属性 var Employee = { firstname: "Mohammed", lastname: "Haddad" } console.log(Employee.firstname); // expected output: "Moh

我一直在研究angularjs的内存泄漏管理,我遇到了$destroy,但在JavaScript中已经有一个delete关键字。两者之间有区别吗?

在JavaScript中,删除操作符从对象中删除属性;如果不再保留对同一属性的引用,则最终将自动释放该属性

var Employee = {
  firstname: "Mohammed",
  lastname: "Haddad"
}

console.log(Employee.firstname);
// expected output: "Mohammed"

delete Employee.firstname;

console.log(Employee.firstname);
// expected output: undefined
在angular中,$scope.$destroy被执行,它将删除在该$scope上通过$on注册的所有侦听器

$scope.$on("$destroy", function() {
});
可能重复的