javascript – 为什么不能将中缀增量运算符()用于IIFE?

我正在学习javascript,我对IIFE语法感到震惊.

我已经明白,要编写IIFE,我们需要将函数作为表达式然后调用它.

我们可以通过在()之间包装函数来使其成为表达式.或者在函数关键字前加上, – ,〜,!.

现在针对这个问题,当我前缀时,我在控制台中收到错误.

码:

++function(){console.log("hello")}();

错误:

Uncaught ReferenceError: Invalid left-hand side expression in prefix operation

为什么我不能使用?是一个一元运算符,我认为这将使解释器将匿名函数视为函数表达式,就像,等等一样.

我哪里错了?

解决方法:

它无法分配给

正如错误消息所示,function()…不是有效的左侧表达式,即无法分配给它.

 , – ,〜,!将导致表达式被评估.另一方面,increment运算符()将使表达式不仅被评估,而且还被修改,这个表达式不允许.

上一篇:python selenium(3)


下一篇:javascript – 你应该在RequireJS上使用IIFE吗?