我正在学习 javascript,我对 IIFE
语法感到震惊。
我明白要编写 IIFE
我们需要将函数作为表达式然后调用它。
我们可以通过在 ()
之间包装函数使其成为表达式。或者在函数关键字前加上+
,-
,~
,!
。
现在的问题是,当我以 ++
为前缀时,我在控制台中收到错误消息。
代码:
++function(){console.log("hello")}();
错误:
Uncaught ReferenceError: Invalid left-hand side expression in prefix operation
为什么我不能使用++
? ++
是一元运算符,我认为它会让解释器将匿名函数视为函数表达式,就像 +
、-
等一样,做了。
我哪里错了?
最佳答案
无法分配给
如错误消息所述,函数 ()... 不是有效的左侧表达式,即不能将其分配给 。
+, -, ~, !将导致表达式被求值。另一方面,增量运算符 (++) 不仅会导致表达式被求值,还会被修改,这对于此表达式是不允许的。
关于javascript - 为什么中缀增量运算符 (++) 不能用于 IIFE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43009423/