我对the IIFE如何运作进行了小规模的研究。并且偶然发现了一种与ASI机制有关的行为。这是代码示例,非常自我解释。
此块将成功执行:
!function (){}()
^function (){}()
这不是:
^function (){}()
!function (){}()
作为!
符号的替代品,您可以使用+
,-
和~
。 ^
的替换可能是&
,*
,,
。
任何人都可以提供比我最终解释的更好的解释“这是ASI在JavaScript中的工作方式。”?我不得不承认,这可能是完全错误的。