JavaScript闭包
一、闭包的作用 JavaScript 中闭包是一个很难理解的概念,也是衡量 JavaScript 功力的重要 标准。JavaScript 语法中的独特特性也通过闭包淋漓尽致的体现了出来。 在学习闭包的过程中,很多同学最大的困惑其实并不是语法本身,而是看 着闭包的语法不知道它是干什么用的。难道闭包仅仅是一项供奉在象牙塔中供学 术研究者膜拜的高冷课题吗? 其实并不是这样,闭包的本质是将一个函数中某些变量的作用域延伸到函 数外部的技术。所有需要突破作用域链,在函数外部访问函数内部变量值的场合 都可以使用闭包。具体的例子我们看过语法后再讲述。 二、作用域链 1. 作用域 在 JavaScript 中,变量也可以分为全局变量和局部变量。 全局变量 直接在 script 标签内声明的变量就是全局变量 var global = 'Hello I am Global'; console.log("global="+global); // global=Hello I am Global 局部变量 在函数中声明的变量是局部变量 function myMethod() { var localVariable = "Hello I am Local"; console.log("localVariable=" + localVariable); // :localVariable=Hello I am