Why do we put '(' before fucntion in JS?
本问题已经有最佳答案,请猛点这里访问。
为什么我们有(在这里的功能词之前?
1 2 3 4 5 6 7 8 | (function() { var message ="Привет"; function showMessage() { alert( message ); } showMessage(); })(); |
尽量不要:
1 | function() { return 1; }() |
然后你会得到
javascript解析器以两种模式运行,我们称之为表达式模式和正常模式,在正常模式下,JS解析器需要顶级声明,如函数和代码块。使用'('进入表达式模式,在表达式模式中,
对象文本也有类似的情况:
1 | { foo: 1 } |
不使用'('这意味着代码块,其中只有一个表达式-常量1在标签后面,当使用
为什么有两种模式,它是由语言语法强制执行的,在JS的情况下非常复杂(就像大多数基于C的语言一样)。