工作上實在是太常把工作上的東西忘了,乾脆來試試寫個blog把東西都記下來
這次就趁客戶問起 JS 之類的東西,
趁勢紀錄一下吧;純紀錄所以不會寫太多東西XD
小弟不算資深,僅做紀錄用;
若有幫上任何人的忙算榮幸,沒有的話可以給點鼓勵;
如果太粗淺也請見諒,有錯誤也歡迎提出指正或補充~~
以下範例主要會用 JavaScript 來做參考
====================
一般多數程式在常見情況下,應該能夠常態理解為此:
= 是指派變數
== 是程式上的判斷 相等與否
!= 則是 == 的相反意思 (不相等與否)
以下簡單示例:
var Temp = 123; // 指派變數
if (Temp == 123) { 程式碼A }
if (Temp != 456) { 程式碼B }
結果:
程式碼A和B都會個別執行,因為符合各別條件
這次客戶問起的 Google 雲端 APP Script 中,
程式碼的語言是 Javascript,
在 JavaScript 以及一些程式語言(如PHP)當中,
== 可以做純判斷沒錯,但通常只會判斷"值",
如果自動轉型後資料相等還是會給過;
在某些時候,會要求資料型態也要正確,就會多用一個 =;
!= 同理,如果連資料型別也要判斷是否不相等,就會用 !==
※不是全部程式語言都有 === 或 !== 的問題
以下簡單示例:
var Temp = "123"; // 指派變數
if (Temp == 123) { 程式碼A }
if (Temp != 123) { 程式碼B }
if (Temp === 123) { 程式碼C }
if (Temp !== 123) { 程式碼D }
if (Temp === "123") { 程式碼E }
if (Temp !== "123") { 程式碼F }
結果如下:
程式碼A 會被執行:Temp 的 數值 在自動轉型後是相等的
程式碼B 不會執行:Temp 的 數值 在自動轉型後並非不相等
程式碼C 不會執行:Temp 的資料型態是 "字串",if 中的判斷為 是否為"數字"型態的 123,型別沒有相等
程式碼D 會被執行:Temp 的資料型態是 "字串",if 中的判斷為 是否為"數字"型態的 123,型別確定不相等
程式碼E 會被執行:Temp 的資料型態是 "字串",if 中的判斷為 是否為"字串"型態的 123,型別與內容都相等
程式碼F 不會執行:Temp 的資料型態是 "字串",if 中的判斷為 是否為"字串"型態的 123,型別與內容都沒有不相等
參考資料: