Google Apps Script日志莫名出现Null值,求排查原因
问题分析与解决:Google Apps Script 日志多出Null条目
问题根源
- 变量未定义:
jmlTUPDNet变量没有被定义或赋值,在Google Apps Script中,未定义的变量会被视为undefined,而Logger会将其显示为Null。 - 重复执行函数:如果你是直接在编辑器中运行
TarikDatadanKirim函数,Google Apps Script会先执行所有全局代码(包括开头的Logger.log(jmlTUPDNet)和末尾的TarikDatadanKirim(jmlTUPDNet,0)),之后再执行你选中的无参数调用的TarikDatadanKirim函数,此时a为undefined(显示为Null),触发第三次日志输出。
解决方案
正确定义变量
确保jmlTUPDNet被赋值,比如替换为你的实际业务值:var jmlTUPDNet = 100; // 替换为你的实际数值 Logger.log(jmlTUPDNet) function TarikDatadanKirim (a,b) { if (a!=0) { Logger.log(a) } } TarikDatadanKirim(jmlTUPDNet,0)使用入口函数避免重复执行
将所有初始化和调用逻辑放入一个入口函数,运行时选择这个入口函数,而非直接运行TarikDatadanKirim:function runMain() { var jmlTUPDNet = 100; // 赋值你的变量 Logger.log(jmlTUPDNet); TarikDatadanKirim(jmlTUPDNet, 0); } function TarikDatadanKirim (a,b) { if (a!=0) { Logger.log(a); } }之后在编辑器中运行
runMain,只会执行一次变量日志和一次函数内日志,符合你的预期。优化函数判断逻辑
如果需要避免Null/Undefined值触发日志,可以修改判断条件,排除无效值:function TarikDatadanKirim (a,b) { // a != null 同时排除null和undefined if (a !== 0 && a != null) { Logger.log(a) } }
内容的提问来源于stack exchange,提问作者Platipusbiru
相关产品推荐
相关产品推荐

