这可能是由于作用域的问题。如果变量在函数内声明,但在函数外部定义,则在函数外部重新赋值时,函数内部仍将使用旧的值。解决这个问题的方法是将变量定义在函数内部或将变量声明为全局变量。例如:
var myVar; // 声明全局变量
function myFunction() {
myVar = 'Hello World!'; // 给全局变量赋值
console.log(myVar); // 在函数内部打印正确的值
}
myFunction();
console.log(myVar); // 在函数外部打印正确的值
或者:
function myFunction() {
var myVar = 'Hello World!'; // 声明函数内部变量
console.log(myVar); // 在函数内部打印正确的值
return myVar;
}
console.log(myFunction()); // 在函数外部打印正确的值
上一篇:变量在值之外不会永久改变。