2 следующие функции, вызывающие себя, не работают - PullRequest
1 голос
/ 15 декабря 2011

Что не так с этим кодом?

function test() {

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

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

test()

http://jsfiddle.net/VvaCX/

Ответы [ 2 ]

8 голосов
/ 15 декабря 2011

Вы пропускаете точки с запятой в конце каждого вызова функции ...

function test() {

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

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

test();

Вот JSFiddle рабочего кода, если вам нужно его протестировать,Например, в Chrome вы можете щелкнуть правой кнопкой мыши> осмотреть элемент> и переключиться на вкладку «Консоль»

Спасибо @pimvdb за то, что вы указали, что на самом деле пытается сделать, когда у вас нет точек с запятой:

В настоящее время она пытается передать вторую функцию в качестве аргумента результату первой.

2 голосов
/ 15 декабря 2011

Я только что проверил. Вам НУЖНЫ ваши точки с запятой.

Это работает:

function test() {

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

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

test()

Firebug показывает ошибку на console.log('1'),

...