ホームページ  >  記事  >  ウェブフロントエンド  >  IEの下位バージョンがcallとapply_javascriptスキルをサポートしていない問題を完全に解決

IEの下位バージョンがcallとapply_javascriptスキルをサポートしていない問題を完全に解決

WBOY
WBOYオリジナル
2016-05-16 17:10:481573ブラウズ

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];
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。