有没有一种方法可以获得javascript函数所采用的参数的arity

Is there a way to get the arity of arguments taken by a javascript function?

本文关键字:函数 javascript arity 参数 一种 方法 有没有      更新时间:2023-09-26

我知道可以使用arguments关键字将参数传递到函数中。然而,我正在寻找一种方法来获得传递到javascript函数中的参数的arity。

类似的东西

add = function (a,b){}
arity(add) // => 2

一种方法是访问函数的长度属性,即add.length,但这并不意味着函数在javascript中只能接受那么多参数。您可以向函数传递尽可能多的参数,并使用方法中的arguments对象对其进行访问。

例如:-

 var add = function (a,b){
     var argslength = arguments.length;
 }
 add (1,2,3,4,5);

若要响应注释,则无法设置它,因为它不可写。

Function构造函数本身就是一个Function对象。它的长度数据属性的值为1。属性属性为:可写:false,可枚举:false,可配置:true。