在Javascript编程社区中,有人问“如何声明匿名方法并立即运行它?”然后其他人回答了(function(){})()
和(function(){}())
回答(function(){}())
的人说这是正确的并且可以运行,但是想法说错了,我认为这是不正确的。
以下链接用于比较SpiderMonkey和Rhino
http://ideone.com/rKaYtW
http://ideone.com/Lblb7w
Javascript上的(function(){}())
是否真的正确?
答案 0 :(得分:3)
“但是,意思是说那是错的”
如果你在谈论你所显示的链接中的错误,那是因为你没有用分号分隔这两个例子,所以第二个是将其外部括号集解释为前一个表达式的函数调用
(function(){
print("This is what I want.")
})() // <<< no semicolon causes the error here
(function(){
print("This may be what I want.")
}())