Почему я получаю неопределенный плюс значение? - PullRequest
0 голосов
/ 22 декабря 2018

Я очень плохо знаком с JS и просто играю с синтаксисом.

Когда я звоню

budgetController.publicTest2();

, я получаю:

46 Undefined

Я ожидал 46, но почему я также получаю Undefined?

Полный код:

var budgetController = (function() {
    var x = 23;

    function add(a) {
        return a + x;
    }

    return {
        publicTest: function() {
            const y = add(23);
            return y;
        },
        publicTest2: function() {
            return (function(d){
                console.log(d());
            })(budgetController.publicTest);
        },
    }
    })();
    
budgetController.publicTest2();

1 Ответ

0 голосов
/ 22 декабря 2018

Консоль печатает undefined, потому что это возвращаемое значение выражения budgetController.publicTest2().

Консоль всегда печатает значение введенного вами выражения.Например:

  • Если вы введете 1 + 2, вы получите 3 обратно.
  • Если вы введете console.log(3), вы получите обратно 3 и undefined (возвращаемое значение выражения console.log(3))
...