如何为全局变量赋值,并在jquery/javascript中的其他函数中使用它
How to Assign value to global variable and use it in other functions in jquery/javascript?
声明全局变量(jquery):
$.mynamespace = { myVar : "something" };
我将对xml进行一些操作,然后将一些其他值分配给myVar,并调用函数test()将再次更改myVar的值。然后我希望var的值必须与我在test()函数中更改的值相同。
$(document).ready(function(){
//Some XML oprations
$.get("students.xml",{},function(xml){
$.mynamespace.myVar="ewewewewewew";
test();
});
//value of $.mynamespace.myVar must be test
alert($.mynamespace.myVar);
});
function test(){
alert($.mynamespace.myVar );
$.mynamespace.myVar="test";
}
Ajax代表异步JavaScript和XML,这意味着调用是异步的。AJAX完成后,将调用成功的函数。它可以随时调用。因此,当javascript到达代码时,它就完成了,当ajax准备就绪时,就会调用成功函数。
有两种解决方案。
- 当ajax请求在successful函数中完成时,您可以使用变量执行某些操作
- 您可以在ajax代码后面使用变量,但需要使用参数
async: false
,这使得ajax没有ajax:)但使用某种SJAX
您可以使用闭包而不是全局变量来做同样的事情
(function($){
var myNs = {};
$(document).ready(function(){
//Some XML oprations
$.get("students.xml",{async: false},function(xml){
myNs.myVar="ewewewewewew";
test();
});
//value of $.mynamespace.myVar must be test
alert(myNs.myVar);
});
function test(){
alert(myNs.myVar );
myNs.myVar="test";
}
})(jQuery);
相关文章:
- 对其他函数使用匿名函数's参数
- 创建要在其他函数中使用的全局变量
- 在Jquery调用之间添加其他函数
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 如何从ipify函数返回ip地址,以便在其他函数中使用
- 如果没有其他函数链接到promise,则默认行为
- Javascript创建函数,以便在其他函数之间共享变量
- 使通过函数加载的JSON可用于其他函数
- 可以获取模板实例值,但不能将其用于其他函数
- 如何停止一个函数并将其他函数设置为在 html5 的 javascript 中加载时运行
- 这个关键字位于$.ajax()中,用于调用其他函数来设置url
- SQLite+Javascript:在每个其他函数中执行多个查询
- 调用geocomplete中的其他函数
- 如何在 javascript 中将变量传递给对象内的其他函数
- 如何在Javascript中创建一个调用其他函数的函数
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- AJAX请求返回Javascript获胜't返回特定函数,但将返回其他函数
- 如何在其他函数中使用fn作为函数参数
- 返回带有其他函数的变量
- 如何在ES6中使用Arrow函数引用对象内部的其他函数