Javascript 将函数中的var调用到函数外部
我试图在函数外部调用此变量,但结果未定义。我知道如果没有var,变量可以在全局范围内调用,但我没有定义。我还尝试在函数外部设置var并调用它,但也没有成功。这是我的简化代码谢谢:) 使用Javascript 将函数中的var调用到函数外部,javascript,Javascript,我试图在函数外部调用此变量,但结果未定义。我知道如果没有var,变量可以在全局范围内调用,但我没有定义。我还尝试在函数外部设置var并调用它,但也没有成功。这是我的简化代码谢谢:) 使用 $(document).ajaxStop(function(){} 在ajax加载之后加载变量。尝试在successfunction中添加一个返回testvar,而不是调用testvar 调用successfunction function successfunction(data){ testva
$(document).ajaxStop(function(){}
在ajax加载之后加载变量。尝试在successfunction中添加一个返回testvar,而不是调用testvar 调用successfunction
function successfunction(data){
testvar = "var";
return testvar;
}
尝试在successfunction中添加返回testvar,而不是调用testvar 调用successfunction
function successfunction(data){
testvar = "var";
return testvar;
}
它只在方法范围内可见,您必须在函数外声明它(在本例中是全局的),或者在函数调用中返回它:
var testvar2=“var 2”;
函数function1(){
//解析json
返回成功函数(“数据”);
函数成功函数(数据){
testvar2=“var glob”;
var testvar=“var ret”;
返回testvar;
}
功能失效功能(错误){
console.log(错误);
}
};
log(testvar2);
log(function1());
console.log(testvar2);
它只在方法范围内可见,您必须在函数外声明它(在本例中是全局的),或者在函数调用中返回它:
var testvar2=“var 2”;
函数function1(){
//解析json
返回成功函数(“数据”);
函数成功函数(数据){
testvar2=“var glob”;
var testvar=“var ret”;
返回testvar;
}
功能失效功能(错误){
console.log(错误);
}
};
log(testvar2);
log(function1());
console.log(testvar2);
如果需要全局范围,请将变量附加到全局对象,如窗口
function successfunction(data){
window.testvar = "var";
}
到那时,你将确信它将成为全球性的
但是,您应该注意,
successfunction
是一个稍后将运行的回调:它在超时后运行&只有在ajax调用成功时才运行。如果您希望全局范围,请将变量附加到全局对象,如窗口
function successfunction(data){
window.testvar = "var";
}
到那时,你将确信它将成为全球性的
但是,您应该注意,
successfunction
是一个稍后将运行的回调:它在超时后运行&只有在ajax调用成功的情况下才会运行。您在哪里调用function1
?@ChristianZosel我将在function2
中调用它来执行一些数学操作,并将其打印在div中,Where you callfunction1
?@ChristianZosel我将在function2
中调用它来执行一些数学运算,并在divI中打印它。我尝试了控制台.log(testvar);
我得到的testvar没有定义。使用控制台.log(windows.testvar);
我得到的是未定义的:(编辑:是的,如果我在函数中调用json,我可以从json中获取数据是的,但我没有完全理解我很抱歉我是一个初学者。啊,现在我明白了,因为获取json比运行控制台要花更长的时间。log
我正确地获取了未定义的日志?有没有办法在调用ucess函数?编辑:使用$(document).ajaxStop(function(){console.log(window.testvar);})
我尝试了console.log(testvar);
我得到的testvar没有定义。使用console.log(windows.testvar);
我得到的是未定义的:(编辑:是的,如果我在函数中调用json,我可以从json中获取数据是的,但我没有完全理解我很抱歉我是一个初学者。啊,现在我明白了,因为获取json比运行控制台要花更长的时间。log
我正确地获取了未定义的日志?有没有办法在调用ucess函数?编辑:使用$(document).ajaxStop(函数(){console.log(window.testvar);})
代码段说,测试变量没有定义
,我也得到了相同的结果。我只是得到了var 2
,请重新加载页面。是的,我很抱歉,但我正在尝试得到var
我看到您在文档顶部声明了它,这样您无论如何都会得到正确的结果?还是有什么我看不到的?(抱歉,我正在学习)代码片段说,test-var没有定义
,我也得到了相同的结果。我只是得到了var 2
,请重新加载页面。是的,我很抱歉,但我正在尝试得到var
,我看到您在文档顶部声明了它,这样您无论如何都会得到正确的结果?还是有什么我看不到的?(抱歉,我正在学习)