我收到一个非常奇怪的未定义错误:
function login(name,pass) {
var blob = Utilities.newBlob(pass);
var passwordencode = Utilities.base64Encode(blob.getBytes());
var ss = SpreadsheetApp.openById("");
var sheet = ss.getActiveSheet();
var data = sheet.getDataRange().getValues();
var i=1;
while (name != data[i][0]){
Logger.log(data[i][0]);
i++;
}
if (passwordencode == data[i][1]){
UserProperties.setProperties({
"name" :name,
"pass" : passwordencode
});
Logger.log("You are logged in");
}
else if (passwordencode != data[i][1]) {
Logger.log("You are not logged in");
UserProperties.setProperties({
"name" : "",
"pass" : ""
});
}
}
使用谷歌脚本。未定义的是 while 语句,其中 while(name != data[i][0]) 声称您无法从未定义中读取属性“0”。这有什么奇怪的,如果我删除了 while 语句中的 data[i][0],它仍然可以在 logger.log 中使用。以及其他任何地方。到底他妈发生了什么?
编辑:如果我将 while 更改为 if 语句,它也可以工作。