JavaScript >= 大於等於

admin發表於2018-12-04

大於等於運算子可以比較左右兩側運算數的大小。

當左側運算數大於或者等於右側運算數時返回true,否則返回false。

JavaScript >= 運算子與數學對應運算子相比更加複雜,不但數字之間可以比較,字串也可以比較,甚至不同型別資料也可以進行比較,具體規則,下面會通過程式碼例項一一演示,並且最後會給出總結。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log(5>=5);
console.log(5>=3);
console.log(5>=8);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/04/102349dw7c5sf37wzm57b1.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

數字之間的比較非常簡單,左側數字大於或者等於右邊數字,返回true,否則返回false。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log("8">=5);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/04/102447a7nphcn717sucnhh.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

字串與數字之間也可以比較大小,規則如下:

首先將字串轉換為數字,然後再進行比較,所以上述程式碼返回true。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log(true >= 0);
console.log(true >= 2);
console.log(false >= 0);
console.log(false >= -1);
console.log(false >= -2);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/04/102519s3dyg3ggv13oevq1.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果是布林值與數字比較,那首先將布林值轉換為數字,規則如下:

如果是true,則轉換為1,false轉換為0,然後再進行比較。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log("ac" >= "ab");

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/04/102552wlglzl8c2qzn93lq.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

字串之間也可以比較大小,規則如下:

(1).字串比較大小,事實是比較組成字串的字元ASCII碼的大小。

(2).從左到右依次比較字元ASCII碼的大小,直到決出勝負位置。

(3).比如先從第一個字元比較,由於都是"a",打成平手,然後再比較第二個,"c"的ASCII大於"b"的。

(4).所以返回true。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
console.log("mc" >= "ab");

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/04/102625sh7cca7t7cccgkcs.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

只要前面的已經取得決定性比較結果,後面的就沒有必要比較了。

就如同高位數字已經取勝,低位數字再大也沒用。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let obj={
  valueOf:function(){return 5}
}
console.log(obj > 4);

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201812/04/102658xnp664nef07kgk7x.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述程式碼是一個引用型別資料obj與值型別資料4之間比較大小。

首先會將引用型別資料轉換為值型別,實質就是呼叫了valueOf方法。

最終比較的是數字5與數字4,所以列印結果為true。

比較規則最終總結:

(1).如果運算元是數字,直接比較它們之間大小關係。

(2).如果運算元是數字和數字字串,首先將數字字串轉換為數字。

(3).如果運算元是數字和布林值,首先將true轉換為0,false轉換為0。

(4).如果運算元是字串,則比較字元的ASCII碼大小。

(5).如果運算元有引用型別,那麼首先將其轉換為值型別再進行比較。

相關文章