为了账号安全,请及时绑定邮箱和手机立即绑定

这段代码怎么被优化了?

这段代码怎么被优化了?

慕桂英4014372 2019-04-21 20:14:37
这是我在《高级3》看到的一段代码,不明白这种写法怎么被优化了?functioncreateXHR(){if(typeofXMLHttpRequest!='undefined'){createXHR=function(){returnnewXMLHttpRequest();};}elseif(typeofActiveXObject!='undefined'){createXHR=function(){if(typeofarguments.callee.activeXString!='string'){varversion=["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0"],i,len;for(i=0,len=version.length;i
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

这叫lazyassignment
本来呢,createXHR要根据不同环境执行不同代码,但由于运行环境的不变性,每执行一次createXHR就判断一次显然太浪费性能了;如果是一开始就根据不同环境给createXHR赋不同的值,在某些情况下也很浪费,因为你不一定会用到它。
而这种方法,只在第一次执行时判断环境并给createXHR赋上不同的值,这就完美解决了上面的问题。
                            
查看完整回答
反对 回复 2019-04-21
  • 2 回答
  • 0 关注
  • 440 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信