Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript-检查对象是否为函数';s的论点_Javascript - Fatal编程技术网

javascript-检查对象是否为函数';s的论点

javascript-检查对象是否为函数';s的论点,javascript,Javascript,在javascript中,可以通过关键字arguments将函数的参数作为类似数组的对象获取。我想知道是否有一种方法可以检查对象是否来自arguments关键字 (我基本上想做的是:if(myvar.constructor.name==“Arguments”){(…)},但是Arguments对象使用默认的对象类,这就是为什么这不可能的原因。) (让我相信这样做是可能的是浏览器在登录到控制台时将arguments对象标记为“arguments”)您可以将其转换为字符串,并将其与[object a

在javascript中,可以通过关键字
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]")