Javascript 更改函数内的全局变量值
下面是我的简单场景。我在Javascript 更改函数内的全局变量值,javascript,jquery,Javascript,Jquery,下面是我的简单场景。我在ready()函数中定义了一个变量,它分配第一个值 我在ready()之外还有一个函数。我想做的是在我的新函数中使用已更改的变量 以下是我的JavaScript代码: var myFunction = function() { // I wanna change Vp value here and wanna // use this function with the new value Vp = "new value";
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
语句。它将值分配给一个新的局部变量,而不是全局变量
在这里:
小提琴:
现在它起作用了
关于JS变量作用域的一个很好的阅读:为什么不将
myFunction()
移动到同一ready
scope?$(“#btnAddCustomer”)。单击(myFunction);此处调用。每当clint单击按钮时,它就会启动为什么不将not variable附加到窗口或文档?您可以给我一个示例,说明如何执行此操作吗?您仍然应该声明变量,但在全局范围内。很抱歉,此操作不完整。现在检查它。如果它不起作用,您的孤子仍然会在ready函数中获得Vp=“first value asign”值,但需要新值您是否在myfunction2上声明Vp?在myFunction函数中,需要更改Vp并将此新值传递给myfunction2的函数
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)
};
});