如何将参数传递给Google Apps脚本调试器?

Men*_*heh 7 javascript debugging google-sheets google-apps-script

假设我在google-apps脚本中有以下破解的示例功能.该函数旨在从带有字符串参数的google工作表中调用:

function myFunction(input) {
  var caps = input.toUpperCase()
  var output = caps.substrin(1, 4)
  return output
}
Run Code Online (Sandbox Code Playgroud)

当你选择myFunction并按下debug时,这个示例脚本应该在第3行中断,因为没有像"substrin()"这样的方法,它会在第2行中断,因为你不能在所有大写中放置undefined:

TypeError:无法调用未定义的方法"toUpperCase".(第2行,文件"代码")

问题: 是否有官方方法将字符串传递给google-apps脚本以进行测试/调试,而无需另外执行其他功能

function myOtherFunction() {
 myFunction("testString")
}
Run Code Online (Sandbox Code Playgroud)

和调试?

Ser*_*sas 7

您编写的函数确实需要一个参数,除了在函数本身中包含一个默认值之外,没有办法避免这种情况.见下面的例子

function myFunction(input) {
  input= input||'test';
  var caps = input.toUpperCase();
  var output = caps.substrin(1, 4);
  return output;
}
Run Code Online (Sandbox Code Playgroud)

  • 输入 = 输入 || 'test' 是 if ( !input ) input = 'test' 的简写;逻辑或(“||”)将输入转换为真或假,如果为假,则选择第二个操作数。但是请注意,0 将评估为假,因此如果传递了 0,则输入将是“测试”。您可以使用以下方法避免这种情况: input = (input !== undefined) ? 输入:'测试';另一方面,*any* 字符串将测试为真:("","0","false","undefined") 将全部评估为真。 (2认同)