Javascript定义-然后调用语法
Javascript define-then-call syntax
非常直接,所以问题是为什么
(function(){ console.log('a'); }()); // 'a'
或
(function(){ console.log('a'); })(); // 'a'
工作,但
function(){ console.log('a'); }() // SyntaxError: Unexpected token (
给出错误?这种行为背后的含义是什么?或者这些额外括号的目的是什么?
额外的括号将function
转换为函数表达式而不是函数声明。
只有一个函数表达式可以被立即调用,后面是()
。
对此没有明确的解释。JavaScript根本无法成功解析function(){ console.log('a'); }()
。这也发生在其他示例中,例如:
1.toString(); // Syntax error
(1).toString(); // Works
您的代码的一个(有效的)替代方案是(注意开头的!
):
!function(){ console.log('a'); }()
相关文章:
- uiWebview 调用 javascript 函数语法
- “语法错误:意外的令牌)”在 javascript 调用中,当 eval(value) 为空时
- 什么'这是“_函数:while“;Babel.js尾部调用中的语法
- 调用方法时的Jquery语法
- ajax 调用 PHP 数据返回 VM92:1 未捕获语法错误:意外的标记 {.
- AngularJs 2: 如何调试服务调用?(ES6 语法)
- Ajax 调用返回语法错误:输入意外结束
- 如何将简单的 JQuery 自动完成语法与对远程数据源(PHP 脚本)的 ajax 调用相结合
- JavaScript 语法调用对象属性
- 未捕获的语法错误: 意外令牌: ajax 调用
- ReactJS 返回解析器错误语法错误:在 AJAX 调用 JAVA servlet 后出现意外的标记 a
- 如何使用 razor 语法设置 javascript 变量或调用函数
- 从 java 脚本调用参数化 ms-access 函数的语法是什么?
- Javascript函数调用语法不清楚
- 正确的语法以调用自调用函数
- 自调用函数的可选语法
- Ajax调用语法
- 在调用时计算属性,而不使用函数调用语法
- Javascript函数调用语法
- Javascript定义-然后调用语法