匿名javascript函数调用!函数与函数

时间:2013-08-27 08:11:30

标签: javascript

怎么来

function(){ alert("test123");}()

生成SyntaxError: Unexpected token (

,而

!function(){ alert("test123");}()

提醒“test123”

1 个答案:

答案 0 :(得分:3)

这是因为通过添加!符号,您可以将声明转换为表达式并立即调用它。 通过将您的函数括在括号中,您将使第一个示例正常工作:

(function(){ alert("test123");})()

为了使其更清晰,您可以将第一个表达式视为:

if (false || !function(){ return false; }())

<小时/> 正如@zerkms注意到有Immediately-invoking functions的完整解释。