猿问

闭包的作用有哪些?

如上,闭包的作用有哪些? 
谢谢。

慕丝7291255
浏览 494回答 1
1回答

蓝山帝景

我博客笔记的原文链接闭包定义:定义在一个函数内的函数。闭包作用: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,102.实现封装,管理私有变量和私有方法,将变量(状态)的变化封装在安全的环境中。var person = function(){        //变量作用域为函数内部,外部无法访问,不会与外部变量发生重名冲突        var name = "default";                    return {      //管理私有变量           getName : function(){               return name;           },           setName : function(newName){               name = newName;           }        }    }();3.匿名自执行函数。在匿名自执行函数传入一个闭包函数,匿名自执行函数执行完立即销毁,可以减小内存消耗。(function(){   var foo = function(){       alert("执行完这个闭包后,立即销毁");   };     foo();})();4.让变量始终保持在内存中,内存消耗会很大,这是一个缺点。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答