你好,我有一段代码片段。当我删除同一代码的无关部分时,我对x1值的更改感到困惑。我搜索了一下,发现这与提升有关。但是,即使使用提升概念,x1的值仍然不清楚。请问有人能够帮我理清楚吗?
var x = 10;
function main() {
document.write("<br>x1 is " + x);
x = 20;
if (x > 0) {
var x = 30;
document.write("<br>x2 is " + x);
}
var x = 40;
var f = function(x) {
document.write("<br>x3 is " + x);
}
f(50);
}
main();
如果我将此代码更改为:x1未定义
x2为30
x3为50
var x = 10;
function main() {
document.write("<br>x1 is " + x);
}
main();
x1的值为10