理解JavaScript 中的相等比較
在JavaScript 中,相等比較通常是一個混亂的根源,特別是在使用單一等號(= )。讓我們深入研究一下原始問題中提供的程式碼片段未按預期運行的原因。
賦值的作用
單一等號 (=)用於賦值,而不是相等比較。因此,當您編寫:
if (str = '')
您實際上是將一個空字串指派給變數“str”,而不是檢查其值是否相等。
相等比較運算子
要在JavaScript 中比較值的相等性,您應該使用雙等號(==) 進行鬆散比較(允許類型強制)或使用三等號(===) 進行嚴格比較比較(不進行型別強制)。
重新檢視程式碼
用兩個或三個等號取代單一等號將確保執行所需的比較:
if (str === '') { console.log("The string cannot be blank"); } else if (str.length <= 9) { console.log("The string must be at least 9 characters long"); } else if (str.length <= 10) { console.log("The string is long enough."); }
修正說明
在這種情況下使用===(嚴格比較)可以保證'str' 的值與空字串進行比較,從而避免賦值錯誤。因此,程式碼將準確判斷字串是否為空、長度是否小於或等於 9、或長度是否大於 10。
以上是為什麼我的 JavaScript 程式碼是賦值而不是比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!