在我的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:
,后面没有日期,其他用途表明该值未定义。我做错了什么?
答案 0 :(得分:0)
您的问题是自定义函数返回值不能依赖于输入参数以外的任何内容。在你的情况下,你没有,所以它将缓存第一个结果并将其用于具有相同参数的其他调用(无)。
要解决此问题,您必须将日期作为参数传递。
答案 1 :(得分:0)
我认为这个问题在某种程度上与变量范围有关,我认为实际上。我用它来测试项目中另一个脚本的代码,没有意识到脚本中的函数都是连接的。一旦我确定每个函数/全局只有一个实例,问题就解决了。我知道,这是一个愚蠢的错误,但对于任何初学者学习Google Apps脚本都很有用,所以我认为值得发帖作为答案。