Javascript define-then-call syntax
本问题已经有最佳答案,请猛点这里访问。
非常直截了当,所以问题是为什么
1 | (function(){ console.log('a'); }()); // 'a' |
要么
1 | (function(){ console.log('a'); })(); // 'a' |
工作,但是
1 | function(){ console.log('a'); }() // SyntaxError: Unexpected token ( |
给出错误? 这种行为背后的含义是什么? 或者这些额外括号的目的是什么?
对此没有明确的解释。 JavaScript根本无法成功解析
1 2 | 1.toString(); // Syntax error (1).toString(); // Works |
代码的(工作)替代方法(注意开头的
1 | !function(){ console.log('a'); }() |
额外的括号将
只能使用尾部