惰性载入函数
对于每次判断条件都相同的多次调用函数,例如检测浏览器是否支持某方法,可以通过惰性载入函数减少if判断次数,提高性能。
function createXHR() {
if (typeof XMLHttpRequest != "undefined") {
createXHR = function () {
return new XMLHttpRequest();
};
} else if (typeof ActiveXObject != "undefined") {
createXHR = function () {
if (typeof arguments.callee.activeXString != "string") {
var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"], i, len;
for (i = 0, len = versions.length; i < len; i++) {
try {
new ActiveXObject(versions[i]);
arguments.callee.activeXString = versions[i];
break;
} catch (ex) {
}
}
return new ActiveXObject(arguments.callee.activeXString);
};
}
} else {
createXHR = function () {
throw new Error("No XHR object available.");
};
}
return createXHR();
}

浙公网安备 33010602011771号