代码描述:js ajax惰性加载。js ajax惰性加载源码实例
本章节介绍介绍一下ajax多性加载的用法,当然它是具有一定优势的。 在js中有些内存只需执行一遍即可,如浏览器类型检测是最常用的一个功能,因为我们使用Ajax的时候需要检测浏览器的内置的XHR。我们可以在第一次检测的时候记录下类型,往后在使用Ajax的时候就不需要再去检测浏览器类型了。在js中就算只有一个if也总比没有if的语句效率要高。 代码实例: 实例一: 普通的ajax代码
<script> function ajax(){ if(typeof XMLHttpRequest != "undefined"){ return new XMLHttpRequest(); } else if(typeof ActiveXObject != "undefined"){ if(typeof arguments.callee.activeXString != "string"){ var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"]; for(var index=0,k=version.length;index<k;index++){ try{ new ActiveXObject(versions[index]); arguments.callee.activeXString = versions[index]; break; } catch(ex){ throw ex; } } } return new ActiveXObject(arguments.callee.activeXString); } else{ throw "No XHR object"; } } </script>
每次调用ajax()函数都要对浏览器内置的XHR检查,效率不高。 实例二: 惰性方式的代码
<script> function ajax(){ if(typeof XMLHttpRequest != "undefined"){ ajax = function(){ return new XMLHttpRequest(); }; } else if(typeof ActiveXObject != "undefined"){ ajax = function(){ if(typeof arguments.callee.activeXString != "string"){ var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"]; for(var index=0,k=version.length;index<k;index++){ try{ var xhr = new ActiveXObject(versions[index]); arguments.callee.activeXString = versions[index]; return xhr; } catch(ex){ throw ex; } } } return new ActiveXObject(arguments.callee.activeXString); } } else{ ajax = function(){ throw "No XHR object"; } } return ajax(); } </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能