-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
闭包及闭包的意义 #16
Comments
function f() {
let value = 123;
return function() {
alert(value);
}
}
let g = f(); // g.[[Environment]] 存储了对相应 f() 调用的词法环境的引用 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
概念
闭包是函数和声明该函数的词法环境的组合,这个环境包含了这个闭包创建时所能访问的所有局部变量。这样就可以在外部间接使用内部的局部变量。简而言之:闭包通过形成一个包含了局部变量的词法环境的形式,使得外部也可以间接使用内部的变量
意义
1、封装私有变量
2、模仿块级作用域(ES5中没有块级作用域)
3、实现JS的模块
The text was updated successfully, but these errors were encountered: