1

这段代码有什么问题?

function test() {

   (function(){
      console.log('1')  
   })()

   (function(){
      console.log('2')
   })()
}

test()

http://jsfiddle.net/VvaCX/

4

2 回答 2

8

您缺少每个函数调用末尾的分号...

function test() {

    (function(){
        console.log('1');  
    })();

    (function(){
        console.log('2');
    })();
}

test();

如果您需要对其进行测试,这是工作代码的 JSFiddle。例如,在 Chrome 中,您可以右键单击 > 检查元素 > 并切换到“控制台”选项卡

感谢@pimvdb 指出当您没有分号时这实际上会尝试做什么:

它目前正试图将第二个函数作为参数传递给第一个函数的结果。

于 2011-12-15T17:10:06.740 回答
2

我刚刚测试过。你需要你的分号。

这有效:

function test() {

    (function(){
        console.log('1');
    })()

    (function(){
        console.log('2');
    })()
}

test()

Firebug 显示错误console.log('1')

于 2011-12-15T17:12:03.123 回答