国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

完美解決IE低版本不支持call與apply的問題

2019-11-20 21:31:14
字體:
來源:轉載
供稿:網友
Function.prototype的apply和call是在1999年發布的ECMA262 Edition3中才加入的(1998年發布ECMA262 Edition2)。在此前的的瀏覽器如IE5.01(JScript 5.0)中是沒有apply和call的。因此會帶來一些兼容性問題,以下是修復方式:
復制代碼 代碼如下:

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);
    };
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泸水县| 永福县| 个旧市| 东至县| 大英县| 广饶县| 盱眙县| 容城县| 浦城县| 盐津县| 油尖旺区| 东兴市| 颍上县| 蒲城县| 白沙| 仪陇县| 二连浩特市| 浮梁县| 广西| 东莞市| 淄博市| 巴青县| 商城县| 体育| 怀远县| 柳江县| 嘉义县| 微山县| 揭东县| 洮南市| 延庆县| 尉犁县| 贵州省| 黄梅县| 钟山县| 建德市| 沂水县| 洛扎县| 新竹市| 丹寨县| 大竹县|