2 следующие функции, вызывающие себя, не работают

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

function test() {

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

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

test()

http://jsfiddle.net/VvaCX/

2 ответа

Решение

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

function test() {

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

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

test();

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

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

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

Я только что проверил. Вы НУЖНЫ свои полуколонны.

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

function test() {

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

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

test()

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

Другие вопросы по тегам