js教程關係運算也稱比較運算,需要兩個運算元,運算返回值總是布林值。
比較大小的運算子有 4 個,說明如表所示。
大小關係運算子 大小運算子 說明 < 如果第乙個運算元小於第二個運算元,則返回true;否則返回 false <= 如果第乙個運算元小於或等於第二個運算元,則返回true;否則返回 false >= 如果第乙個運算元大於或等於第二個運算元,則返回true;否則返回 false > 如果第乙個運算元大於第二個運算元,則返回true;否則返回 false
比較運算中的運算元可以是任意型別的值,但是在執行運算時,會被轉換為數字或字串,然後再進行比較。如果是數字,則比較大小;如果是字串,則根據字元編碼表中的編號值從左到右逐個比較每個字元。
具體說明如下:
1) 如果兩個運算元都是數字,或者乙個是數值,另乙個可以轉換成數字,則將根據數字大小進行比較。
console.log( 4 > 3 );本篇文章由泉州seowww.234yp.com 整理發布,js教程console.log("4" > infinity );
www.234yp.com/article/188236.html 謝謝合作!
2) 如果兩個運算元都是字串,則執行字串比較。
console.log("4" >"3");console.log("a" > "b");
console.log("ab" >"cb");
console.log("abd" > "abc");
3) 如果乙個運算元是數字,或者被轉換為數字,另乙個是字串,或者被轉換為字串,則使用 parseint() 將字串轉換為數字(對於非數字字串,將被轉換為 nan),最後以數字方式進行比較。
4) 如果乙個運算元為 nan,或者被轉換為 nan,則始終返回 false。
console.log("a" >"3"); //返回true,字元a編碼為61,字元3編碼為33console.log("a" > 3); //返回false,字元a被強制轉換為nan
5)如果乙個運算元是物件,則先使用 valueof() 取其值,再進行比較;如果沒有 valueof() 方法,則使用 tostring() 取其字串表示,再進行比較。
6) 如果乙個運算元是布林值,則先轉換為數值,再進行比較。
7) 如果運算元都無法轉換為數字或字串,則比較結果為 false。
字元比較是區分大小寫的,一般小寫字元大於大寫字元。如果不區分大小寫,則建議使用 tolowercase() 或 touppercase() 方法把字串統一為小寫或大寫形式之後再比較。
注意:為了設計可控的比較運算,建議先檢測運算元的型別,主動轉換型別。
關於更多js教程內容,可以收藏本網頁。
廈門seo專注seo領域的教程,培訓等,自己20年優化經驗,立足廈門本土!
js比較運算子
比較運算子分類 相等 與 非相等 非相等 依據ecma 262 5.1版本,js非相等比較的實現是依靠乙個抽象關係比較演算法實現的.而這個演算法主要由乙個比較器和資料型別轉換的toprimitive抽象操作構成.參考資料 抽象關係比較演算法 toprimitive抽象操作 四種關係運算子的實現邏輯 ...
JS運算子 算術運算子 比較運算子 賦值運算子
兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...
js 比較運算子 邏輯運算子
運算子 運算子 1.純數字,加法數 算 2.加好左右只要有字串都得字串 字串鏈結 如 var a 1 1 a 1 1 document.write a 此時輸出2a11 在計算機中可以除0,任何數除0都得無窮。無窮 infinity 0除0得nan 非數,非數也是數 運算子 a 即 a 1 即 a ...