【发布时间】:2023-03-15 14:03:01
【问题描述】:
我正在学习 javascript 全局变量和局部变量。当我对它进行实验时(请参见下面的 jsfiddle),我很困惑为什么在执行 myFunction1() 后变量 a 的值变为 4 而不是 5。你认为在 javascript 内存中发生了什么,使其值为 4 而不是 5 ?
var a = 4;
myFunction1();
function myFunction1() {
a= 5;
var a= 6;
}
alert(a); //a = 4
myFunction2();
function myFunction2() {
a= 5;
}
alert(a); //a = 5
【问题讨论】:
-
查看重复参考。简单地说:函数体中的
var使该变量成为 whole 函数体中的 local 变量,因此在该函数体中对该变量的任何使用——即使当发生在var语句之前——涉及该局部变量。
标签: javascript html jquery css reactjs