gpt4 book ai didi

javascript - 如何向函数传递不同数量的参数,而不是接受不同数量的参数?

转载 作者:行者123 更新时间:2023-12-03 02:30:37 25 4
gpt4 key购买 nike

我知道您可以使用普通的 Javascript 对象来接受不同数量的参数,如下所示:

function f(params) {
// do something with params.param1
// do something with params.param2
// etc...
}

function t() {
f({param1: "a", param2: 22, param3: [1,2,3]}); // 3 parameters
f({param1: 'st'}); // 1 parameter
}

但是,如果事先不知道该函数接受多少个参数,如何编写一个函数来调用另一个函数并传递可接受数量的参数呢?

例如,

// func is a function object, params is a container of some kind that holds the parameters that that function would accept
function pass_to_func(func, params) {
func(params); // func can be anything, which means it can accept any number of params, depending on context
}

我尝试过这个:

function pass_to_func(func, params) {
func(params.join()); // params is an array of parameters, but this doesn't work
}

欢迎任何建议,但请记住,它必须在 Google Apps Script 中得到支持。 ,因为这就是我正在处理的环境。

最佳答案

你可以尝试:

// if params is an array
function pass_to_func(func, params) {
func.apply(null, params);
}

// if params is not an array
function pass_to_func(func, params) {
func.call(null, params);
}

关于javascript - 如何向函数传递不同数量的参数,而不是接受不同数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48750020/

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