Javascript 理解函数回调&;内存泄漏
我想了解这些函数是否会泄漏一些内存 示例1Javascript 理解函数回调&;内存泄漏,javascript,memory-leaks,callback,Javascript,Memory Leaks,Callback,我想了解这些函数是否会泄漏一些内存 示例1 function setUserData(data, cb){ // do some magic here if(cb){ cb(); delete cb; // OR cb = null; } } setUserData('test', reloadUserData); 示例2 let setUserData = function update(data, cb){ // do some mag
function setUserData(data, cb){
// do some magic here
if(cb){
cb();
delete cb;
// OR
cb = null;
}
}
setUserData('test', reloadUserData);
示例2
let setUserData = function update(data, cb){
// do some magic here
if(cb){
cb();
cb= null;
}
setUserData = null;
}
setUserData('test', reloadUserData);
调用cb后是否应该使cb对象无效?内存中的
cb
变量不会产生内存泄漏问题。此外,对null的赋值并不是“清除”内存中cb
的当前值。cb
是一个局部变量,函数结束时它会被销毁,因为这里没有闭包。重要的是调用方函数的生命周期。在javascript函数中,函数是第一类对象,它们的行为与作为参数传入的任何其他对象一样,您可以修改其中的成员或向其中添加新成员,它将反映在原始对象中,但删除主对象本身毫无意义