gpt4 book ai didi

javascript - 如何知道函数是否接受参数?

转载 作者:行者123 更新时间:2023-11-28 11:49:06 26 4
gpt4 key购买 nike

拥有一个具有 2 个可能方法的对象,是否有一种简单的方法可以使用纯 JavaScript 检查该方法是否接受参数:

getItems(id) {...};
getItems() {...};

想检查该方法是否接受 id 参数?

最佳答案

您可以从函数的 length 属性中获取形式参数的数量(arity):

function zero() { }
function one(a) { }
console.log(zero.length); // 0
console.log(one.length); // 1

在 JavaScript 中,这与在任何给定特定场合实际调用的参数数量不同,您可以从内部的参数伪数组中获取该参数函数(或者在 ES2015+ 中,通过使用剩余参数并获取其长度)。

说到 ES2015,剩余参数不会增加数量,因此:

function stillOne(a, ...rest) { }
console.log(stillOne.length); // 1

类似地,具有默认参数的参数不会添加到参数中,并且实际上会阻止其后面的任何其他参数添加到它(假定它们具有默认值 undefined ):

function oneAgain(a, b = 42) { }
console.log(oneAgain.length); // 1

function oneYetAgain(a, b = 42, c) { }
console.log(oneYetAgain.length); // 1

关于javascript - 如何知道函数是否接受参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41128632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com