gpt4 book ai didi

Javascript IFFE TypeError "string"不是函数

转载 作者:行者123 更新时间:2023-12-02 21:07:01 25 4
gpt4 key购买 nike

查看下面的 es6 代码:

let person = "John Malkovich"
(() => {
console.log("Original person was ", person);

person = "Drew Barrymore";

console.log("New person " + person);
})();

当我执行这个程序时,它会抛出这个错误:

"TypeError: \"John Malkovich\" is not a function

现在我知道如果我添加 ;在第 1 行末尾,即 let person = "John Malkovich";该程序有效。我唯一头痛的是无法理解为什么会发生这个奇怪的错误。

最佳答案

如果到目前为止语法有效,则表达式后面的左括号(中间可能有换行符)将导致解释器尝试将表达式作为函数调用。即:

someExpression()

someExpression ()

someExpression
()

都会尝试调用someExpression。不会自动插入分号,因为如果 someExpression 恰好是可调用的,则语法有效。 (ASI 通常只插入分号,以将不同的语句彼此分开,否则语法将无效)

关于Javascript IFFE TypeError "string"不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61198632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com