我正在做一些范围练习,并遇到了以下问题。
老实说,我认为答案是30.我无法弄清楚为什么result
等于10.对我而言,x似乎来自30的全球范围。
我很感激有关此事的任何见解。非常感谢。
var x = 30;
function get () { return x; }
function set (value) { x = value; }
set(10);
var result = get(20);
console.log(result);
答案 0 :(得分:4)
x
确实来自全球范围,但在您致电var result = get(20);
之前,请致电set(10);
,将10
分配给全球x
。
答案 1 :(得分:1)
x确实来自全球范围。 function set (value) { x = value; }
更改全局范围中x的值。