【发布时间】:2018-02-17 13:35:11
【问题描述】:
谁能向我解释为什么下面的第一个代码不起作用但第二个代码起作用?
不工作↓↓↓:
let call = () => {
let secret = "HELLO NOOBS";
let reveal = () => {
console.log(secret);
}
return reveal;
}
call();
正在工作↓↓↓:
let call = () => {
let secret = "HELLO NOOBS";
let reveal = () => {
console.log(secret);
}
return reveal;
}
let unveil = call();
unveil();
【问题讨论】:
-
那是因为你的函数返回一个函数...如果你是这样设计的,为什么你期望它在调用外部时运行内部函数?
-
我真是个白痴
-
@PennyDreadful:我们都做过这样的事情,不要太自责。 :-)
标签: javascript ecmascript-6 closures