21

我想编写一个自定义函数,它有一些强制参数,但也可以接受一些可选参数。我找不到任何关于此的文档。有人知道吗?它类似于 Javascript 吗?

4

2 回答 2

23

自定义函数没有必填字段和可选字段的概念,但您可以使用如下逻辑模拟该行为:

function foo(arg1, opt_arg2) {
  if (arg1 == null) {
    throw 'arg1 required';
  }
  return 'foo';
}

约定使用前缀“opt_”作为可选参数,但这不是必需的。

于 2012-06-04T14:12:42.840 回答
-1

是的,它是 JavaScript(对 JsDoc 的支持也有限),所以你可以有一个带有默认值的可选参数:

/**
 * This is myFunction.
 * @param {number} arg1 - Some number.
 * @param {string} arg2 - Some string.
 * @param {number} arg3 - [OPTIONAL] Additional numbers or ranges to add to value1.
 * @customFunction
**/
function myFunction(arg1, arg2, arg3=false) {
  return arg3;
}

然后您可以使用以下任一方法在电子表格中调用它:

=myFunction(1, "somestring", true)

或者没有可选参数:

=myFunction(1, "somestring")

由于 JavaScript 动态处理参数列表。

于 2020-05-10T12:12:14.127 回答