基本上,我正在寻找有关其原因和工作方式的解释
const someObj = {
test: () => callback()
}
const callback = () => console.log("how?")
someObj.test()
output: how?
这不是
const someObj = {
test: callback()
}
const callback = () => console.log("how?")
someObj.test
output: Uncaught ReferenceError: Cannot access 'callback' before initialization
答案 0 :(得分:2)
在第一个示例中,您正在为功能测试分配一个功能。除非您调用它,否则它不会尝试调用回调。在您称呼它时,回调已定义。在定义回调之前,请尝试调用test,否则会失败。
在第二个示例中,您试图将调用callback的结果分配给属性test,但是看到尚未定义callback,您会收到错误消息。