JavaScript でオブジェクトが引数オブジェクトかどうかを確認するにはどうすればよいですか?からのフォローアップ
指定されたソリューションはどちらも IE8 では機能しません。IE8 でオブジェクトが引数オブジェクトかどうかを検出する方法はありますか?
JavaScript でオブジェクトが引数オブジェクトかどうかを確認するにはどうすればよいですか?からのフォローアップ
指定されたソリューションはどちらも IE8 では機能しません。IE8 でオブジェクトが引数オブジェクトかどうかを検出する方法はありますか?
@Rocket と @cliffs_of_insanity は正しいです。最初に間違ってテストしたに違いありません。
すべて一緒に、私は到着しました:
var isArguments = function(obj) {
return (obj != null) && // since undefined == null
((Object.prototype.toString.call(obj) == '[object Arguments]') ||
(!!obj.callee)); // fixes for ie8 non-strict-mode
};
引数オブジェクトの履歴とこれが機能する理由の詳細については、https ://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope/arguments/callee を参照してください。