【发布时间】:2020-08-06 07:02:02
【问题描述】:
我听说每个函数都记得(?)该函数创建的词法环境。
在这段代码中,函数function () { console.log(i);},
我想知道这个函数是在哪里创建的。如果某个函数是另一个函数的参数,那么 created(?)/generated 点在哪里?
function countSeconds(howMany) {
for (var i =1; i <= howMany; i++) {
setTimeout(function () {
console.log(i);
}, i * 1000 );
}
};
【问题讨论】:
-
这是一个函数表达式。它是在评估
setTimeout的参数列表时创建的。 -
@Andreas 您将词法环境(确实 所有 闭包都继承)与只有箭头函数从其范围继承的 thisValue 混淆了/跨度>
标签: javascript function ecmascript-6 closures