跟进How do I check whether an object is an arguments object in JavaScript?
IE8中没有提供任何解决方案。有没有办法检测对象是否是IE8中的参数对象?
答案 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