Function.prototype の apply と call は、1999 年にリリースされた ECMA262 Edition3 でのみ追加されました (ECMA262 Edition2 は 1998 年にリリースされました)。 IE5.01 (JScript 5.0) などの以前のブラウザでは、apply と call はありません。したがって、いくつかの互換性の問題が発生します。修正は次のとおりです:
if(!Function.prototype.apply){
Function.prototype.apply = function(obj, args){
obj = obj == 未定義ウィンドウ : Object(obj);// obj は js 基本型にすることができます
var i = 0, ary = [], str;
if(args){
ary[i ] = "args[" i "]"; try{
return eval(str);
}catch(e){
}finally{
delete
}
}
if(!Function.prototype.call){
Function.prototype.call = function(obj){
var i = 1, args = [];
for( len=arguments.length; i< len; i ){
args[i-1] = 引数[i];