JavaScript 你可能会忘记的基础知识 (3)引用和作用域

来源:互联网 发布:电脑淘宝怎么延长收货 编辑:程序博客网 时间:2024/06/14 06:38

引用类型引用的是内存中的对象,相当于对象指针。
对象的复制和保存,其实是操作对象的引用。
对象属性的添加删除操作的内存中具体的对象。
不能给基本类型添加或删除属性。
局部变量在执行完后立即被销毁。

几个名词

执行环境(execution context):
定义了变量或函数有权访问的其他数据 。可以想象每个函数都是一个执行环境。最外面有个最大的执行环境window 里面是function的function的function。。。。之类的。每个执行环境执行完毕后就会被销毁。


变量对象(variable object):
执行环境中的变量函数都保存在这个对象中。


作用域链(scope chain):
代码在一个执行环境中执行时,会为变量对象创建一个作用域链。
作用就是 例如 查找一个变量,当查看的当前执行环境中的变量对象没有该变量。就会沿着作用域链向上搜索,查到了返回该值,没有返回undefined。 就是常说的,内部和外部同名变量,优先内部。


JavaScript 没有块级作用域,因为 作用域,是按照作用域链 和执行环境来定的。

0 0
原创粉丝点击