如果我在单个 Apps 脚本项目中有多个文件具有同名的函数,如何确定范围?
- 按文件?
- 通过动态范围?
- 通过静态范围?
- 函数创建时间(创建脚本文件)?
例如,如果我有Stuff.gs:
function start() {
var number = getNumber();
}
function getNumber() {
return 5;
}
和More.gs:
function getNumber() {
return 10;
}
我打电话start()
,谷歌的平台如何确定调用哪个函数?
我做了这样的测试,但没有得到预期的输出。输出是10.0
。在我看来,既没有应用文件范围规则,也没有应用静态范围。我创建了第三个文件来进一步测试:
测试.gs:
function getNumber() {
return 15;
}
现在输出是15.0
. 我进一步测试并在More.gs 中将10更改为20以查看保存时间戳是否确定了范围,但输出仍然是.15.0
所以对我来说, .gs文件的创建日期似乎决定了范围 - 使用包含函数名称的文件上的最新时间戳。我的假设是否正确,或者这只是巧合并且以其他方式确定?
此外,这是特定于 Google 的 Apps 脚本还是一般的 Javascript?