Google Apps脚本:自定义功能未返回预期值

时间:2017-03-23 10:38:08

标签: google-apps-script google-sheets

在我的Apps脚本中,我需要在多个不同的功能中使用相同格式的(昨天)日期。因此,我决定制作自己的自定义makedate()函数,以便在需要时可靠地为我创建此日期。然而,问题是它返回undefined而不是我的约会。这是我目前的职能:

function makeDate(){
  var myDate = new Date();
  var date = (myDate.getDate()-1) + "-" + (myDate.getMonth() + 1) + "-" + myDate.getFullYear();
  Logger.log(date);
  return date
}

在日志文件中,我看到正在以我想要的格式创建日期。但是,当我再创建另一个函数来测试返回值时,日志文件显示Made date:,后面没有日期,其他用途表明该值未定义。我做错了什么?

2 个答案:

答案 0 :(得分:0)

您的问题是自定义函数返回值不能依赖于输入参数以外的任何内容。在你的情况下,你没有,所以它将缓存第一个结果并将其用于具有相同参数的其他调用(无)。

要解决此问题,您必须将日期作为参数传递。

答案 1 :(得分:0)

我认为这个问题在某种程度上与变量范围有关,我认为实际上。我用它来测试项目中另一个脚本的代码,没有意识到脚本中的函数都是连接的。一旦我确定每个函数/全局只有一个实例,问题就解决了。我知道,这是一个愚蠢的错误,但对于任何初学者学习Google Apps脚本都很有用,所以我认为值得发帖作为答案。