【发布时间】:2020-11-02 19:05:21
【问题描述】:
发件人:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures
function makeFunc() {
var name = 'Mozilla';
function displayName() {
alert(name);
}
return displayName;
}
var myFunc = makeFunc();
myFunc();
不同之处(有趣)在于 displayName() 内部函数在执行之前从外部函数返回。
外部函数如何没有被执行?外部函数是 makeFunc() 而 displayName() 是内部函数。我可以看到正在打印“Mozilla”。这是否意味着首先执行makeFunc,然后执行displayName?
我错过了什么?
【问题讨论】:
-
外部函数正在被执行。您误解了-该段中的“执行之前”是指内部功能,而不是外部功能。
-
@RobinZigmond 我现在明白了。谢谢。
标签: javascript closures