为什么我的变量值在 Logger.log 中发生变化
why does my variable value change in Logger.log
我不确定为什么我的 Google 电子表格应用程序中的这段代码会以这种方式运行。我在记录器中的预期输出应该是 "Zip value is 05044" 但我完全得到另一个数字。
function getShippingType(){
var zip = 05044;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet,
digitOne,
sheetName,
zipToOutput = [];
Logger.log("Zip Value is " + zip);
Logger.log(zipToOutput);
return zipToOutput;
}
05044 中的前导零使其成为八进制数,因此删除前导零使其成为 5044。
zip 似乎被解释为字符串而不是 int。如果你尝试
function getShippingType(){
var zip = "05044";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet,
digitOne,
sheetName,
zipToOutput = [];
Logger.log("Zip Value is " + zip.toString());
Logger.log(zip);
Logger.log(zipToOutput);
return zipToOutput;
}
日志文件很好。
JavaScript 不断尝试将 "coerce" 数据类型转换为它 "thinks" 应该的数据类型。您的 Zip
变量被实例化为一个数字。然后你试图连接一个字符串和一个数字。你可能会得到这样的东西:
Zip Value is 2596
您不能使用 zip.toString()
将数字转换为字符串,因为它只是 returns 作为字符串的“2596”,而不是“05044”。
您需要用引号将 zip
实例化:
var zip = "05044";
这与Logger.log()
方法无关。这就是 JavaScript 的工作原理。
现在你是 "hard coding" 邮编。但是,如果您从电子表格中检索一个值,并且认为变量类型不是您想要的,您可以使用 typeof
.
测试数据类型
Logger.log(typeof zip)
我不确定为什么我的 Google 电子表格应用程序中的这段代码会以这种方式运行。我在记录器中的预期输出应该是 "Zip value is 05044" 但我完全得到另一个数字。
function getShippingType(){
var zip = 05044;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet,
digitOne,
sheetName,
zipToOutput = [];
Logger.log("Zip Value is " + zip);
Logger.log(zipToOutput);
return zipToOutput;
}
05044 中的前导零使其成为八进制数,因此删除前导零使其成为 5044。
zip 似乎被解释为字符串而不是 int。如果你尝试
function getShippingType(){
var zip = "05044";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet,
digitOne,
sheetName,
zipToOutput = [];
Logger.log("Zip Value is " + zip.toString());
Logger.log(zip);
Logger.log(zipToOutput);
return zipToOutput;
}
日志文件很好。
JavaScript 不断尝试将 "coerce" 数据类型转换为它 "thinks" 应该的数据类型。您的 Zip
变量被实例化为一个数字。然后你试图连接一个字符串和一个数字。你可能会得到这样的东西:
Zip Value is 2596
您不能使用 zip.toString()
将数字转换为字符串,因为它只是 returns 作为字符串的“2596”,而不是“05044”。
您需要用引号将 zip
实例化:
var zip = "05044";
这与Logger.log()
方法无关。这就是 JavaScript 的工作原理。
现在你是 "hard coding" 邮编。但是,如果您从电子表格中检索一个值,并且认为变量类型不是您想要的,您可以使用 typeof
.
Logger.log(typeof zip)