您的位置:首页 > Web前端 > Node.js

在nodeschool学习作用域链和闭包(Scope Chains And Closures)

2015-07-11 21:03 627 查看
1、closure闭包是什么

javascript的闭包是一个函数的局部变量被函数内定义的嵌套函数引用,函数又返回了其内部的嵌套函数,这样,函数执行后,其局部变量将被持续保留而暂时不会被GC回收,称这个语言特性叫闭包(自己的理解,非官方)。

2、链式作用域Scope Chains

每一条链式作用域的尾端是Global(node)或window(浏览器),内层可访问外层,反之不成立。

没有使用var(let)声明的变量,则会被理解为对上层变量的引用,如一直追溯Global/window,还没有找到,就被自动创建为全局变量。不小心容易出现bug。

3、shadow现象

内层Scope中,通过定义与外层Scope一样名字的变量就可以shadow外层Scope的变量。屏蔽外层变量,防止访问。不小心则容易出现bug。

2、学习几个单词

closure     n.闭包

vice-versa   反之亦然

conscious   adj.意识到的;n.意识

particularly    adv.特别;尤其;

in turn     反之;反过来

hence      adv.因此;从此以后

relevant    adj.相关的;有意义的,目的明确的

freed       adj.释放的

Sweep     v.打扫;清除

variation   n.变动;变化

implication   n.牵连;含意;暗示;卷入

maintained    维护

legal        adj.合法的

nested   adj.嵌套的

mechanism   n.机制;原理

Phrased    n.短语;习语;措辞;

implicitly   adv.含蓄地;暗中地;

make sense  有意义; 言之有理

adhere    vi.遵守;坚持;

denote    vt.表示;象征

Lexical    adj.词汇的;词典的

 

查看原文:http://blog.indexroot.net/2015/07/11/nodeschool-learn-scope-chains-and-closures/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: