JS权威指南(动物系列犀牛书)读书笔记——第四章 变量(2)

4.垃圾收集器
这个基本上java中的垃圾回收机制差不多,当JS的解释器发现这个变量不再有用的时候,就会释放掉这变量所占用的内存。

5.全局对象(global object)与局部对象(call object)
js解释器会在任何JS代码执行前,隐式创建一个全局对象,其中包含了一切有可能在后续使用到的隐式声明的变量。例如:Math parseInt等。

某一个函数执行前,也会创建一个局部对象用于存储局部变量。以防止同名的全局变量覆盖了局部变量的值。

对象中的属性和变量 ,这两个概念在JS中毫无区别。

6.执行环境(上下文)(execution context)
每次当javascript解释器开始执行一个函数后,它为函数创建一个新的执行环境。

7.作用域连(scope chain)
每个执行环境都有一个自己的作用域连。作用域连是一个对象列表,当JS查找变量时,查找顺序为自底向上。如果是最外层的代码,则他的作用域连上只有一个全局对象。如果是最外层的函数,则其作用域连上有2个对象,先是局部对象(包含局部变量和参数),然后是全局对象。内层嵌套的函数,则有3个对象,第一个是自身的局部对象,第二个是外层函数的局部对象,最后才是全局对象。由于这个机制,所以代码可以访问到外围的变量,不能访问到内部嵌套的变量。
这也是局部变量的效用性比全局变量强的原因,因为首先查找到的就是局部变量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值