我一直在另一个更大的项目中查看这个简单的if / else语句,但似乎找不到我做错的事情。
我在两个if语句中都插入了Logger.log(),以试图解决问题。
运行代码时,我得到以下日志:
[19-02-24 08:50:05:427 PST] var Campus = Baylor
[19-02-24 08:50:05:428 PST] var TSTCCampus = TSTC
如果执行IS =语句,则[PST 19-19-24 08:50:05:428]
[19-02-24 08:50:05:428 PST]否则NOT =已执行
两个变量显然不相等,但是if =执行,else!=执行。
我在做什么错了?
function myFunction() {
// call the Current Reults sheet and identify the Last Row of Responses
var RawFormResponsesSheet = SpreadsheetApp.getActive().getSheetByName("Current Results");
var CurrentSubmission = RawFormResponsesSheet.getLastRow(); // Retruns the Value of the Last Submission Row Number
var Campus = RawFormResponsesSheet.getRange(CurrentSubmission,3).getValue();
// call the Email Data sheet and identify certain cell values
var EmailDataSheet = SpreadsheetApp.getActive().getSheetByName("Email Data")
var TSTCCampus = EmailDataSheet.getRange(3, 4).getValue();
var BaylorCampus = EmailDataSheet.getRange(4, 4).getValue();
Logger.log("var Campus = " + Campus)
Logger.log("var TSTCCampus = " + TSTCCampus)
if (Campus = TSTCCampus){Logger.log ("if IS= statement executed")}
else {Logger.log ("else IS= executed")}
if (Campus != TSTCCampus){Logger.log ("if NOT= statement executed")}
else {Logger.log ("else NOT= executed")}
}
答案 0 :(得分:0)
您需要使用==
作为比较运算符。
有3个=运算符/命令:
=
用于设置变量的值==
等式运算符,如果元素具有相同的值,则返回true
,执行类型转换===
身份运算符,类似于==
,但没有类型转换以下说明什么是类型转换。
"5" == "5" returns true
"5" == 5 returns true
"5" === "5" returns true
"5" === 5 returns false
somevar = 5
分配并返回5,这是一个真实值,因此if (x = 5) {
将始终执行条件主体。同样,if (x = 0) {
将永远不会执行条件主体,因为它会分配并返回0,这是虚假的。