var testFunc = function(){ if(typeof XMLHttpRequest != 'undefined'){ testFunc = function(){ alert('1'); } } else if(typeof ActiveXobject != 'undefined') { testFunc = function(){ alert('2'); } } else { testFunc = function(){ alert('3'); } } }
此函数在每次调用的时候都会执行判断,我们希望这个判断只执行一次,有两种方式可以实现。
第一种是在函数被调用时候处理,代码如下:
var testFunc = function(){ if(typeof XMLHttpRequest != 'undefined'){ testFunc = function(){ alert('1'); } } else if(typeof ActiveXobject != 'undefined') { testFunc = function(){ alert('2'); } } else { testFunc = function(){ alert('3'); } } }
第二种是在函数在第一次被加载的时候处理,代码如下:
var testFunc = (function(){ if(typeof XMLHttpRequest != 'undefined'){ return function(){ alert('1'); } } else if(typeof ActiveXobject != 'undefined') { return function(){ alert('2'); } } else { return function(){ alert('3'); } } });
两种方法均可。
时间: 2024-10-16 21:54:46