怎么会
function(){ alert("test123");}()
Run Code Online (Sandbox Code Playgroud)
产生 SyntaxError: Unexpected token (
而
!function(){ alert("test123");}()
Run Code Online (Sandbox Code Playgroud)
提醒"test123"
?
这是因为通过添加!符号,您可以将声明转换为表达式并立即调用它。通过将函数括在括号中,您将使第一个示例正常工作而不会出现错误:
(function(){ alert("test123");})()
Run Code Online (Sandbox Code Playgroud)
为了更清楚地说明,您可以将第一个表达式想象为:
if (false || !function(){ return false; }())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |