如何检测ie8中的参数对象?

时间:2012-05-17 17:04:38

标签: javascript internet-explorer internet-explorer-8

跟进How do I check whether an object is an arguments object in JavaScript?

IE8中没有提供任何解决方案。有没有办法检测对象是否是IE8中的参数对象?

1 个答案:

答案 0 :(得分:4)

@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