为什么控制台显示递增的数字?

时间:2018-06-15 15:03:50

标签: javascript

在这个小小的javascript片段中,我做了一些基本的数学运算。

var num = 42;
var sum = function () {
    console.log("here is the number: " + num);
}

num = num + 1;

sum();
var num = 42;
num = num + 1;
var sum = function () {
    console.log("here is the number: " + num);
}

sum();

在任何一种情况下,我在控制台中看到的输出都是43.

我希望在第二个代码块中只有43 ,因为我在之前向num 添加+1我指定了变量sum

由于我已经声明并分配了我的变量,我假设此处没有提升,所有内容都按照显示的顺序执行。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您的console.log在sum函数中。

仅在调用该函数时执行,而在定义该函数时则不会

在两种情况下,您都在递增数字后调用sum函数。

要获得输出42,您需要将求和函数移至递增数字的位置。

var num = 42;
var sum = function () {
    console.log("here is the number: " + num);
}

sum(); // => 42

num = num + 1;

sum(); // => 43