非常简单的if / else语句似乎正在倒退

时间:2019-02-24 17:18:51

标签: if-statement google-apps-script

我一直在另一个更大的项目中查看这个简单的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")}

}

1 个答案:

答案 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,这是虚假的。