如上,闭包的作用有哪些? 谢谢。
1 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
闭包定义:
定义在一个函数内的函数。
闭包作用:
1.将函数作为参数传入另外一个函数。
var arr = [2,10,6,9,7,8];var arr1 = arr.sort(function(a,b){ return a-b; }); alert(arr1); //2,6,7,8,9,10alert(arr); //2,6,7,8,9,10
2.实现封装,管理私有变量和私有方法,将变量(状态)的变化封装在安全的环境中。
var person = function(){ //变量作用域为函数内部,外部无法访问,不会与外部变量发生重名冲突 var name = "default"; return { //管理私有变量 getName : function(){ return name; }, setName : function(newName){ name = newName; } } }();
3.匿名自执行函数。在匿名自执行函数传入一个闭包函数,匿名自执行函数执行完立即销毁,可以减小内存消耗。
(function(){ var foo = function(){ alert("执行完这个闭包后,立即销毁"); }; foo();})();
4.让变量始终保持在内存中,内存消耗会很大,这是一个缺点。
添加回答
举报
0/150
提交
取消