- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 javascript 的新手,我发现我不知道一种合适的方法来重复获取同一变量的实例。我正在用这个打开一个 Xml 文件:
function testXML(){
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","../res/data.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
return xmlDoc;
}
我添加了返回,这样我就可以选择该 xml 文件并进行一些搜索以加载一些包含数据的列表。问题是,每次我想使用 xml 文件读取一些数据时,我都会调用此方法,它不仅会返回 xml,还会返回 IF/Else 和 openfile 等...我想这不是那个合适。
那么我怎样才能创建一个只返回 xml 文件的方法,这样我就只能打开它一次呢?此外,打开 xml 文件一次并将其加载到变量中是安全的,比方说在 index.html 中,然后导航到其他 html 而不会丢失该变量值(xml 文件)?
谢谢!!
最佳答案
var xml;
function testXML(){
if(!xml){
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","../res/data.xml",false);
xmlhttp.send();
xml = xmlhttp.responseXML;
}
// return xml; // You can optionally also return the xml, but it'd be assigned to the variable already, any way.
}
调用该函数一次,您可以只使用 xml
变量。
或者,就像下面建议的那样,只使用 testXML()
而不是代码中的变量,并取消对返回值的注释。
这确保您不会遇到未定义的 xml。
关于javascript - 单例模式javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14874193/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!