闭包的定义 闭包是指函数有自由独立的变量.换句话说,定义在闭包中的函数可以“记忆”它创建时候的环境. 闭包的浅显理解 function makeFunc() { var name = "Mozilla"; function displayName() { alert(name); } return displayName; } var myFunc = makeFunc(); myFunc(); 这段代码看起来别扭却能正常运行.通常,函数中的局部变量仅在函数的执行期间可用.一旦 mak…
var arr = new Array(); function Person() { for (var i = 0; i < 10; i++) { //要记住,这个属性函数申明,只有立即执行才会取scope属性 var item = function () { return i; }; arr.push(item); } } Person(); arr[0](); 这个代码执行person();首先完成初始化.注意因为i不是内部匿名函数的属性,所以i并没有当做匿名函数的属性来完成初始化. 然后执…
JavaScript作用域闭包简述 作用域 技术一般水平有限,有什么错的地方,望大家指正. 作用域就是变量起作用的范围.作用域包括全局作用域,函数作用域以块级作用域,ES6中的let和const可以形成块级作用域. 除了块级作用域,在函数外面声明的变量可以在任何一个地方被访问到,这些变量的作用域都是全局作用域,全局作用域中的变量可以再任何一个地方使用: var a = "zt"; function fn1(){ console.log(a); } function fn2(){ con…