这是我的简单场景。我在 ready()
函数中定义了一个变量,它分配第一个值。
我在ready()
之外还有一个函数。我想要做的是在我的新函数中使用更改后的变量。
这是我的 JavaScript 代码:
var myFunction = function() {
// I wanna change Vp value here and wanna
// use this function with the new value
Vp = "new value";
myFunction2 ();
};
$(document).ready(function () {
var Vp = "first value asign";
$('#btnAddCustomer').click(myFunction);
var myFunction2 = function() {
// I will use Vp variable here with new value
};
});
最佳答案
丢弃 var
语句。它将值分配给一个新的局部变量,而不是全局变量。
这里:
var Vp = "first assigned value"
var myFunction2;
var myFunction = function() {
// I wanna change Vp value here and wanna use this function with the new value
Vp = "new value"
myFunction2();
};
$(document).ready(function () {
Vp = "first value asign";
$('#btnAddCustomer').click(myFunction);
myFunction2 = function() {
alert(Vp)
};
});
fiddle :http://jsfiddle.net/XGGvv/10/
现在可以了。
关于 JS 变量作用域的好读物:http://coding.smashingmagazine.com/2009/08/01/what-you-need-to-know-about-javascript-scope/
关于javascript - 在函数内更改全局变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19218031/