回答OP问题
A)我不了解Google Apps脚本控制台在打印方面的工作方式,以便可以查看我的代码是否完成了我想要的工作?
Google Apps Script项目的.gs文件上的代码在服务器上而非网络浏览器上运行。记录消息的方法是使用Class Logger。
B)代码有问题吗?
如错误消息所述,问题是console
尚未定义,但如今相同的代码将引发其他错误:
ReferenceError:未定义“ playerArray”。(第12行,文件“代码”)
那是因为playerArray被定义为局部变量。将行移出功能将解决此问题。
var playerArray = [];
function addplayerstoArray(numplayers) {
for (i=0; i<numplayers; i++) {
playerArray.push(i);
}
}
addplayerstoArray(7);
console.log(playerArray[3])
现在代码已执行而不会抛出错误,现在来看一下浏览器控制台,我们应该看一下Stackdriver Logging。在Google Apps脚本编辑器用户界面中,点击查看> Stackdriver Logging。
附录
Google于2017年发布了所有脚本Stackdriver Logging并添加了类控制台,因此包括类似console.log('Hello world!')
内容不会引发错误,但日志将位于Google Cloud Platform Stackdriver Logging Service而非浏览器控制台上。
摘自2017年Google Apps脚本发行说明
六月23,2017
Stackdriver Logging已移出Early Access。现在,所有脚本都可以访问Stackdriver日志记录。
从日志记录> Stackdriver日志记录
以下示例显示如何使用控制台服务在Stackdriver中记录信息。
function measuringExecutionTime() {
console.info('Timing the %s function (%d arguments)', 'myFunction', 1);
var parameters = {
isValid: true,
content: 'some string',
timestamp: new Date()
};
console.log({message: 'Function Input', initialData: parameters});
var label = 'myFunction() time';
console.time(label);
try {
myFunction(parameters);
} catch (e) {
console.error('myFunction() yielded an error: ' + e);
}
console.timeEnd(label);
}