在这个小小的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
。
由于我已经声明并分配了我的变量,我假设此处没有提升,所有内容都按照显示的顺序执行。
我错过了什么?
答案 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