面试的时候经常碰到关于闭包的问题
var name = "The Window";
var object = {
name : "My Object",
getNameFunc : function(){ return function(){ return this.name;
};
},
getName:function(){
alert(this.name);
}
};
alert(object.getNameFunc()()); //The Window
object.getName(); //My Object
解决js函数闭包内存泄露问题的办法
function Cars(){ this.name = "Benz"; this.color = ["white","black"]; } Cars.prototype.sayColor = function(){ var outer = this.color; //保存一个副本到变量中
return function(){
return outer//应用这个副本
};
outer = null; //释放内存
};
var instance = new Cars();
console.log(instance.sayColor()())
以上就是关于闭包问题的详细介绍的详细内容,更多请关注php中文网其它相关文章!
已抢66227个
抢已抢35306个
抢已抢19595个
抢