Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数(){}()有效吗?_Javascript - Fatal编程技术网

Javascript 函数(){}()有效吗?

Javascript 函数(){}()有效吗?,javascript,Javascript,在一个Javascript编程社区中,有人问“如何声明匿名方法并立即运行它?”然后其他人回答(function(){})(和(function(){}()) 回答(function(){}())的人说这是正确的,可以运行,但ideone说这是错误的,我认为这是错误的。 以下链接用于比较SpiderMonkey和Rhino。 (function(){}())在Javascript上真的正确吗 “但ideone说这是错误的” 如果您讨论的是显示的链接中的错误,那是因为您没有用分号分隔这两个示例,

在一个Javascript编程社区中,有人问“如何声明匿名方法并立即运行它?”然后其他人回答
(function(){})(
(function(){}())

回答
(function(){}())
的人说这是正确的,可以运行,但ideone说这是错误的,我认为这是错误的。
以下链接用于比较SpiderMonkey和Rhino。

(function(){}())
在Javascript上真的正确吗

“但ideone说这是错误的”

如果您讨论的是显示的链接中的错误,那是因为您没有用分号分隔这两个示例,因此第二个示例的外部圆括号集被解释为前一个表达式的函数调用

(function(){
    print("This is what I want.")
})() // <<< no semicolon causes the error here
(function(){
    print("This may be what I want.")
}())
(函数(){
打印(“这就是我想要的。”)

})()//定义“正确”。如果你的意思是如果它是有效的语法,是的(只有在括号中作为表达式括起来时)。@AndrewLi谢谢,我让他们知道了。另外,你在IDEONE上的错误是由于在两个IIFE之间省略了分号。因为您省略了分号,JavaScript看到下一个标记是(,它将另一个IIFE解释为使用回调调用前一个函数的返回值,这是错误的。