【译】【nodeschool】【scope-chains-closures】作用域
2018-05-14 22:09
363 查看
作用域链与闭包工作
作用域,作用域链,闭包以及垃圾回收它们有一个共同点:那就是它们通常都是手动执行的。闭包实际上是如何工作的?垃圾回收在什么时候发生?作用域链到底是什么?通过这次学习,我们将发现这些并不是什么黑魔法。我们没有必要去一一解释这些语言特性,实际上就算不理解它们你也已经使用它们很长时间了。
作用域
在JavaScript中最主要的作用域是词法作用域。目前在学习语言的开始,我们通过函数function创造了一个作用域,这也是所有开发者都熟悉的用法。ES6在不久前定义了块级作用域,通过花括号包裹住一个块级作用域。
变量初始化
可以通过变量初始化方式来决定它将属于何种作用域类型。词法作用域
var 可以用来声明一个变量处于当前函数作用域中如:function someFunc () { var aVariable; }
aVariable 作用范围在someFunc函数中
块级作用域
let 和 const 用来声明一个变量处于当前花括号所包裹的块级作用域中:if (true) { let aVariable; }
aVariable变量处于 if语句声明的块级作用域中。
相关文章推荐
- 【译】【nodeschool】【scope-chains-closures】垃圾收集
- 【译】【nodeschool】【scope-chains-closures】作用域链
- 【译】【nodeschool】【scope-chains-closures】全局作用域与遮挡
- 【译】【nodeschool】【scope-chains-closures】闭包
- you don't know js -- Scope and Closures学习笔记——第二章(词法作用域)
- you don't know js -- Scope and Closures学习笔记——第三章(函数VS块作用域)
- 在nodeschool学习作用域链和闭包(Scope Chains And Closures)
- Spring 注解 @Scope("prototype") 的作用
- angular中$scope作用域和继承关系解析
- 3.3.6 - [basic.scope.class] - 【基本.作用域.类】
- Spring中scope作用域
- spring中scope作用域(转)
- Maven中的dependency的scope作用域详解
- you don't know js -- Scope and Closures学习笔记——第五章(闭包) 上篇
- scope 对象在 AngularJS 中充当数据模型的作用,也就是一般 MVC 框架中 Model 得角色.但又不完全与通常意义上的数据模型一样,因为 $scope 并不处理和操作数据,它只是建立了
- 名字的作用域(scope)
- Spring注入非单例bean以及scope的作用范围
- JAVABEAN 的scope作用范围
- Javascript中的作用域(scope)
- AngularJS中scope隔离作用域之=&调用父作用域中函数