在下是一个js初学者,语文学的很抱歉,理解能力也有点渣...
最近学习了关于执行环境和活动对象的知识,懂了一些,但还是有些疑问。
关于执行环境的问题:
书上说:
《JS高程》3版中说:“每个函数都有自己的执行环境”。“每个执行环境都有一个与之关联的变量对象(variable object)。”
我有一个函数test
function test (a) { alert(a); }
我调用test多次
test(1) //弹出1
test(2) //弹出2
test(3) //弹出3
“每个 函数 都有 自己的执行环境”,那test这个函数,是说无论执行多少次,都只有1个执行环境和1个活动对象吗?谢谢。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这样理解是对的的。特别是在闭包中,这种概念可以体现出来,如下代码:
ECMA大法好
http://www.ecma-international.org/ecma-262/5.1/#sec-10.3
在例子中每次执行test,当前执行代码都从“global”转移到test函数内部,因此会创建新的execution context,对应的过程在 http://www.ecma-international.org/ecma-262/5.1/#sec-13.2.1 中描述