如何计算JavaScript函数的参数数量而不使用;论点;?

如何计算JavaScript函数的参数数量而不使用;论点;?,javascript,arguments,strict,use-strict,Javascript,Arguments,Strict,Use Strict,我一直在更新我不久前编写的一个库,在这样做的过程中,我意识到在严格模式下测试时会出现意外错误。出现这种情况是因为某些API函数的开头进行了检查,如果参数数量不正确,就会抛出错误。下面是一个例子: if(arguments.length < 2){ throw new Error("Function requires at least two arguments."); } if(arguments.length

我一直在更新我不久前编写的一个库,在这样做的过程中,我意识到在严格模式下测试时会出现意外错误。出现这种情况是因为某些API函数的开头进行了检查,如果参数数量不正确,就会抛出错误。下面是一个例子:

if(arguments.length < 2){
    throw new Error("Function requires at least two arguments.");
}
if(arguments.length<2){
抛出新错误(“函数至少需要两个参数。”);
}
第二个参数可以是绝对任意值,因此检查null/undefined并不表示该参数是否丢失或无效。但是,如果缺少该参数,则绝对存在使用错误。如果可能的话,我想将此报告为抛出的
错误

不幸的是,
参数
对象在严格模式下无法访问。试图在上面的代码段中访问它会产生错误

在没有访问
参数
对象的情况下,如何在严格模式下执行类似的检查


编辑:错误地将此问题标记为重复问题。

您可以检查预期参数的长度()并对照给定参数进行检查()

这在中国也适用

“严格使用”;
函数foo(a,b){
log('函数长度:',foo.length);
log('argument length:',arguments.length);
console.log('值:',a,b)
}
foo();
傅(1),;
foo(1,2);
foo(1,2,3)

作为控制台包装{max height:100%!important;top:0;}
您尝试过这个吗你说得对-我改回检查
参数
,现在我没有收到这些错误。我不知道发生了什么事。我想我可能混淆了与使用
参数有关的错误。被调用方
由于
参数而出现错误。长度
被调用方。被调用方
处于严格模式,不受支持->