在netbeans中寫js 為什么提示兩個等號 有問題?
如圖,為什么改成三個等號 錯誤提示就消失了,這是什么情況呢?
紅顏莎娜
2023-04-16 17:13:52
TA貢獻1799條經驗 獲得超9個贊
這個問題設計到Javascript中的類型轉換,==
比較算法是這樣的。
如果==
兩邊的類型相同,則使用===
比較算法
如果==
兩邊是不同的類型,則將轉換為相同類型,一般對于普通類型,如string,將轉化為數字;對于對象和數組,則調用它們的valueOf或toString轉換。最后對轉化后的結果進行比較
而===
比較算法相對簡單,易于理解,兩邊不僅值相等,而且具有相同類型,否則返回false。
如果對于我上面==
的解釋你沒有看懂,非常好,問題的核心就在這里,因為Javascript中類型轉化比較復雜,一般不贊成使用==
進行比較,而盡量使用===
比較。
當然,如果你想掌握Javascript,我建議你在了解類型轉化的各種細節的前提下,靈活運用。
舉報