javascript作用域和作用域链
在JavaScript中,作用域的创建单位是函数,例如在函数体外部进行声明的为全局变量,在函数体内部进行声明的为局部变量。不同于C#、Java等高级语言,在这些高级语言的块级作用域中声明的变量不会影响到外部作用域,而JavaScript使用的是函数级作用域。即使在函数内部使用var声明局部变量,这个声明也会被提前至整个函数的头部。

闭包是javascript的一个重要特性,可以用于变量的访问控制、迭代器的构建等。闭包在循环中的使用需要注意,因为闭包不会记录每一次循环的值,只保存了变量的引用地址。
闭包的作用
闭包可以用于变量的访问控制,可以做访问控制器等,也可以用做迭代器的构建。闭包可以将变量的值始终保存在内存当中,防止被垃圾回收机制回收。
闭包在循环中的使用
在循环中使用闭包需要注意,因为闭包不会记录每一次循环的值,只保存了变量的引用地址。可以通过立即执行函数来解决这个问题。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7274.html
