JavaScript (>) 大於運算子

admin發表於2018-10-15

大於運算子就是數學中的大於號(>)。

數學中的大於功能實在太簡單了,就是用來判斷運算子左邊的數字是否大於右邊的數字。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let a=5,b=2;
console.log(a>b);

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

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152513s4w1xxlixfr3u3j1.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果運算子左側運算數大於右側運算數,則返回true,否則返回false。

上述程式碼體現了這一點,但是JavaScript中的大於運算子比數學中的運算子要複雜的多。

運算子規則總結如下:

(1).如果兩個運算數都是數字,那麼直接比較大小即可,很簡單。

(2).如果運算數是數字和字串時,會首先將字串轉換為數字,再去比較。

(3).如果運算數中有布林值,那麼首先將true轉換為1,將false轉換為0。

(4).如果運算數存在物件,那麼首先將此物件轉換為其原始值,再去比較,如果轉換失敗則報錯。

(5).如果運算數都是字串,那麼將會比較字串中字元的ASCII碼的大小,後面會有演示。

關於資料型別轉換可以參閱JavaScript 資料型別轉換一章節。

程式碼例項如下:

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

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

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152612l836ts8eu65c6uee.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

兩個運算數都是數字,那麼直接比較它們的大小。

左側運算數小於右側運算數,運算子返回值為false。

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

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

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152654q3fb1yd1vfteed0v.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

當數字和字串比較的時候,首先將字串轉換為數字,然後再去比較。

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

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

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152738k0lmeztgtls1snzv.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果是非數字字串,那麼它永遠不大於數字,所以上述程式碼返回值是false。

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

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

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152807kqg3n4ch1ooo6uhx.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果運算數是布林值,那麼首先將其轉換為對應的數字再進行比較。

true轉換為1,false轉換為0。

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

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

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152844x1m2tt6eg2z1ge0l.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

字串之間比較大小,是比較字串中ASCII碼的大小。

比較規則如下:

(1).首先比較第一個字元的大小,沒有區分出大小。

(2).再比較第二個字元的大小,依然沒有區分出大小。

(3).那麼再比較第三個字元,t的ASCII碼值是116,而z的碼值是122,勝負已分。

(4).由此列印結果為false。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let date=new Date();
console.log(date > 8);
console.log(date.valueOf());

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

a:3:{s:3:\"pic\";s:43:\"portal/201810/15/152911wds7tfeexx1xfv77.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

如果運算數為引用型別物件,那麼首先將其轉換為對應的原始值,然後再進行比較。

時間物件的原始值就是它的時間戳,這時間戳數值自然比8要大,所以列印結果為true。

相關文章