Einige Speicher in JS müssen nur einmal ausgeführt werden. Beispielsweise ist die Browsertyperkennung die am häufigsten verwendete Funktion, da wir bei der Verwendung von Ajax das integrierte XHR des Browsers erkennen müssen. Wir können den Typ bei der ersten Erkennung aufzeichnen und müssen den Browsertyp bei der zukünftigen Verwendung von Ajax nicht mehr erkennen. Selbst wenn es in JS nur eine if-Anweisung gibt, ist diese immer effizienter als keine if-Anweisung.
Normale Ajax-Methode
/**
* JS-Lazy-Funktion
*/
Funktion ajax(){
If(typeof XMLHttpRequest != "undefiniert"){
return new XMLHttpRequest();
}else if(typeof ActiveXObject != "undefiniert"){
If(typeof arguments.callee.activeXString != "string"){
varversions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"];
for(var i=0,k=version.length;i
Versuchen Sie es{
new ActiveXObject(versions[i]);
arguments.callee.activeXString =versions[i];
Pause;
}catch(ex){
wirf ex;
}
}
return new ActiveXObject(arguments.callee.activeXString);
}else{
throw „Kein XHR-Objekt“;
}
}
Bei jedem Aufruf der Funktion ajax() muss das integrierte XHR des Browsers überprüft werden, was nicht effizient ist.
Verwenden Sie den Lazy-Ansatz
Code kopieren