首頁 >web前端 >js教程 >完美解決IE低版本不支援call與apply的問題_javascript技巧

完美解決IE低版本不支援call與apply的問題_javascript技巧

WBOY
WBOY原創
2016-05-16 17:10:481635瀏覽

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){
    js基本型別
        var i = 0, ary = [], str;
        if(args){
                ary[i ] = "args[" i "]";
            }
        }
    (' ary.join(',') ')' ;
        try{
            return eval(str);
              delete obj._apply;
        }   
    };
}
if(!Function.prototype.call){
    Function.prototype.call = function(obj){
       length; i            args[i-1] = arguments[i];
         };
}

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn