为什么在函数调用后返回Undefined

时间:2016-02-26 14:13:52

标签: javascript undefined hoisting

我只是在玩Javascript中提升概念。我在玩游戏时写了下面的代码,我可以看到一个意外的输出' undefined'最后。那是什么来的?

  b();
    console.log(a);

    function b(){
        a=10;
        console.log(a*10);
    }

    var a=6;
    console.log(b());

输出:

100

10

100

未定义

2 个答案:

答案 0 :(得分:1)

undefined是没有return语句的函数返回的默认值(并且不会使用new运算符调用)。

答案 1 :(得分:0)

您尚未为函数设置返回值,因此返回默认值undefined。如果您希望函数返回您计算的值,我建议您这样做:

function b(){
    a=10;
    calculatedValue = a*10;
    console.log(calculatedValue);
    return calculatedValue;
}

将a作为函数的参数传递可能也很有用:

function b(a){
    calculatedValue = a*10;
    console.log(calculatedValue);
    return calculatedValue;
}

var a=6;
console.log(b(a));