js作用域
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js作用域相关的知识,希望对你有一定的参考价值。
每个javascript函数都表示一个对象, 确切的为一个Function的实例对象。Function对象跟其他对象一样,拥有可以编程访问的对象,和不可以通过代码访问的仅供JavaScript引擎存取的内部属性。其一为[[Scope]], 由ECMA-262标准第三版定义。
作用域链: 内部属性[[Scope]]包含了一个函数被创建的作用域中对象的集合。 它决定哪些数据能被函数访问。
函数作用域中的每个对象被称为一个可变对象,每个可变对象都以‘键值对‘的形式存在。
当一个函数创建后, 他的作用域链会被创建此函数的作用域中可访问的数据对象所填充。
执行函数时会创建一个称为执行环境(execution context)的内部对象。 函数每次执行时对应的执行环境都是独一无二的, 所以多次执行同一个函数, 也会创建多个执行环境。 当函数执行完毕, 执行环境就会注销。
以上是关于js作用域的主要内容,如果未能解决你的问题,请参考以下文章