源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

完美解决IE低版本不支持call与apply的问题

  • 时间:2022-05-10 11:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:完美解决IE低版本不支持call与apply的问题
Function.prototype的apply和call是在1999年发布的ECMA262 Edition3中才加入的(1998年发布ECMA262 Edition2)。在此前的的浏览器如IE5.01(JScript 5.0)中是没有apply和call的。因此会带来一些兼容性问题,以下是修复方式:
[u]复制代码[/u] 代码如下:
if(!Function.prototype.apply){     Function.prototype.apply = function(obj, args){         obj = obj == undefined ? window : Object(obj);//obj可以是js基本类型         var i = 0, ary = [], str;         if(args){             for( len=args.length; i<len; i++ ){                 ary[i] = "args[" + i + "]";             }         }         obj._apply = this;         str = 'obj._apply(' + ary.join(',') + ')';         try{             return eval(str);         }catch(e){         }finally{             delete obj._apply;         }        }; } if(!Function.prototype.call){     Function.prototype.call = function(obj){         var i = 1, args = [];         for( len=arguments.length; i<len; i++ ){             args[i-1] = arguments[i];         }         return this.apply(obj, args);     }; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部