我正在学习javascript,我对IIFE语法感到震惊.
我已经明白,要编写IIFE,我们需要将函数作为表达式然后调用它.
我们可以通过在()之间包装函数来使其成为表达式.或者在函数关键字前加上, – ,〜,!.
现在针对这个问题,当我前缀时,我在控制台中收到错误.
码:
++function(){console.log("hello")}();
错误:
Uncaught ReferenceError: Invalid left-hand side expression in prefix operation
为什么我不能使用?是一个一元运算符,我认为这将使解释器将匿名函数视为函数表达式,就像,等等一样.
我哪里错了?
解决方法:
它无法分配给
正如错误消息所示,function()…不是有效的左侧表达式,即无法分配给它.
, – ,〜,!将导致表达式被评估.另一方面,increment运算符()将使表达式不仅被评估,而且还被修改,这个表达式不允许.