js对象属性

       

     function createDocument(){
     
       if(typeof arguments.callee.activeXString!="string"){
       
          var versions=["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument"],i,len;
          
           for(var i=0;i<versions.length;i++){
               try{
                  new ActiveXObject(versions[i]);
                  arguments.callee.activeXString=versions[i];
                  break;
               
               }catch(error){
               
               }
           }
       }
           return new ActiveXObject(arguments.callee.activeXString);
     }

     

  这是一个创建ActiveXObject对象的方法,它可以兼容IE的多个版本。开始对于这个方法中的arguments.callee.activeXString,非常不理解。为什么不能使用activeXString,或者是this.activeXString呢。通过查阅资料发现,arguments.callee.activeXString是创建当前函数的对象名为activeXString。js函数即是对象,相当于创建了一个对象属性。

       1.使用arguments.callee.activeXString

               执行两次函数,只会检查一次IE版本,第二次可以直接获取arguments.callee.activeXString的值。

        2.使用this.activeXString或者activeXString。

              执行两次函数,会检查两次IE版本,相当于存入activeXString的值,在每次运行后销毁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值