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

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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值