Javascript 访问函数外部的局部变量?
我从一个PHP文件中获取数据,例如,存储一个使用该数据的变量。它存储在两个函数中:Javascript 访问函数外部的局部变量?,javascript,jquery,Javascript,Jquery,我从一个PHP文件中获取数据,例如,存储一个使用该数据的变量。它存储在两个函数中: $("#image1").on("click",function(){ $(".click").one("click",function(){ $.getJSON("getnew.php",function(data){ var img1 = data.img1; 然后我必须将其发布到另一个PHP文件中,该文件仅存储在第一个函数中 $("#image1").on("c
$("#image1").on("click",function(){
$(".click").one("click",function(){
$.getJSON("getnew.php",function(data){
var img1 = data.img1;
然后我必须将其发布到另一个PHP文件中,该文件仅存储在第一个函数中
$("#image1").on("click",function(){
// above stuff is first
$.post("update.php",
{img1link: img1}
但是我无法访问img1变量,因为它在其他函数中是本地的。您所要做的就是从
var img1=data.img1中删除var
代码>声明
$("#image1").on("click",function(){
// above stuff is first
$.post("update.php",
{img1link: img1}
如果使用var
,变量将在本地范围内声明。如果您只声明变量而不使用var
,它将在全局范围内声明您所要做的就是从var img1=data.img1中删除var
代码>声明
如果使用var
,变量将在本地范围内声明。如果只声明变量而不使用var
,那么它将在全局范围内声明在任何编程语言中使用全局变量都不是一种好的做法。因此,我建议您在进入ajax调用之前使用保存上下文。
像-
在任何编程语言中使用全局变量都不是一个好的做法。因此,我建议您在进入ajax调用之前使用保存上下文。
像-
所以声明它,使它在两个函数的作用域中。只需确保在它被设置在内部作用域之前,不要尝试在外部作用域中使用它。我认为它与作用域无关,更重要的是异步Javascript和XML。。。异步?所以声明它,使它在两个函数的作用域中。只需确保在它被设置在内部作用域之前,不要尝试在外部作用域中使用它。我认为它与作用域无关,更重要的是异步Javascript和XML。。。嗯,异步?虽然这可能会起作用,但污染全局范围并不是最好的主意。虽然这可能会起作用,但污染全局范围并不是最好的主意。this
与变量范围无关。this
与变量范围无关。