javascript-检查对象是否为函数';s的论点
在javascript中,可以通过关键字javascript-检查对象是否为函数';s的论点,javascript,Javascript,在javascript中,可以通过关键字arguments将函数的参数作为类似数组的对象获取。我想知道是否有一种方法可以检查对象是否来自arguments关键字 (我基本上想做的是:if(myvar.constructor.name==“Arguments”){(…)},但是Arguments对象使用默认的对象类,这就是为什么这不可能的原因。) (让我相信这样做是可能的是浏览器在登录到控制台时将arguments对象标记为“arguments”)您可以将其转换为字符串,并将其与[object a
arguments
将函数的参数作为类似数组的对象获取。我想知道是否有一种方法可以检查对象是否来自arguments
关键字
(我基本上想做的是:if(myvar.constructor.name==“Arguments”){(…)}
,但是Arguments对象使用默认的对象类,这就是为什么这不可能的原因。)
(让我相信这样做是可能的是浏览器在登录到控制台时将arguments对象标记为“arguments”)您可以将其转换为字符串,并将其与
[object arguments]
进行比较:
const isArguments=param=>param.toString()==='[对象参数];
函数foo(){
log(isArguments(参数));
log(isArguments({}));
}
foo()代码>检测它们的唯一方法是:
从ES6开始,这可能会被一个错误愚弄。“让我相信这是可能的,是浏览器在登录到控制台时将arguments对象标记为“arguments”-实际上,控制台(调试工具的一部分!)可以做很多普通脚本无法做的事情,所以这不是一个好的提示。
if (Object.prototype.toString.call(myVar) == "[object Arguments]")