在 Google Apps 脚本中调用函数
Calling a function in Google Apps Script
到
处寻找这个,没有真正的运气。
我希望使用谷歌应用程序脚本将一个函数调用到另一个函数中。这两个函数都在当前项目中,但是当我这样做时,我调用的函数没有被拉动,因为变量没有在两个函数之间链接
我想调用的函数叫做'getDates
',里面有变量'year
'。但是,当我调用该函数时,脚本会调用" year
",它返回未定义。
这是getDates
函数:
function getDates {
var startDate = new Date(sheet.getRange("B1").getValue());
var year = startDate.getFullYear();}
我希望将此函数调用到以下内容:
function one {
getDates();
var url = "https://(hidden url)" + year;
UrlFetchApp.fetch(url);
var dataAll = JSON.parse(response.getContentText()); //
var dataSet = dataAll;
var rows = [],
data;
for (i = 0; i < Object.keys(dataSet).length; i++) { data = dataSet[Object.keys(dataSet)[i]]; rows.push([data.XXX]); }
dataRange = sheet.getRange(7, 2, rows.length, 1);
dataRange.setValues(rows);
}
Google Apps脚本和旧版本的JS通常使用功能范围,因此除非返回,否则函数中声明的任何值都无法通过其包含环境访问。
您的函数没有 return 语句,因此它隐式返回未定义的语句。作为副作用,它声明了两个变量,然后在函数完成后对其进行垃圾回收。
您想向getDates()
函数return year;
添加一行,并将其分配给one()
中的变量
终止后访问函数内变量的唯一方法是让该函数(getDates()
)返回一个函数。然后,该函数将包含包含函数的环境,即使在该函数终止后也可以访问其变量。这称为闭包,但在您的情况下不是很有用。
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量