javascript 闭包详解

之前 一直觉得闭包函数 很难理解 今天 有时间详细了解一下希望大家一起学习分享。

闭包 Closure

作用域的好处是内部函数可以访问定义它们的外部函数的参数和变量。(除了this , argumments),接下来我们来看一下闭包的实例。

首先创建一个初始化对象 并赋予 相应 value 值,

 

 1 var myObject  = (function (){
 2     var value =0;
 3     return {
 4         increment : function(inc){
 5             value += typeof inc === 'number' ? 
:1; 6 }, 7 getValue:function(){ 8 return value; 9 } 10 } 11 }());

 函数里定义了一个value 变量,该变量对increment 和 getValue 方法总是可以用的,但是函数的作用域使它对其他的程序来说是不可见额。

myObject 函数返回一个包含两个方法的对象,并且这些方法继续享有value 的变量特权。
如果一个含有多个属性 并且 不污染全局变量 功能 处理多件事情的时候 使用闭包函数 是最佳的选择。
posted @ 2018-07-25 09:39  Klaus-sun  阅读(126)  评论(0)    收藏  举报