29
2020
04

解释下为什么接下来这段代码不是IIFE(立即调用的函数表达式):function foo(){}();.

要做哪些改动使它变成IIFE?

因为在解析器解析全局的function或者function内部function关键字的时候,默认是认为function声明,而不是function表达式,如果你不显示告诉编译器,它默认会声明成一个缺少名字的function,并且抛出一个语法错误信息,因为function声明需要一个名字。


1 var foo = function() {

2     // doSomeThing.

3 };

5 foo();

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。