這次帶給大家js中比較運算子應如何科學使用,科學使用js中的比較運算子注意事項有哪些,下面就是實戰案例,一起來看一下。
比較運算子
關係運算子最常用的類型是比較運算符,它們用於確定兩個值的相對順序。比較運算子是:
小於(<)<運算子求值為true如果第一個運算元小於第二個運算元,則計算為false。大於(>)>運算子求值為true
如果第一個運算元大於第二個運算元,則計算為false。小於或等於(< =))< =運算子求值為true
如果第一個運算元小於或等於它的第二個運算元;否則將計算為false。大於或等於(=))> =運算子求值為true
如果第一個運算元大於或等於其第二個運算元;否則將計算為false。這些比較運算符的操作數可以是任意類型的。但是,只有在數字和字串上才能進行比較,因此,不是數字或字串的操作數都被轉換。比較與轉換如下:
如果兩個運算元都是數字,或兩個數都轉換成數字,則將它們進行數值比較。
如果兩個運算元都是字串或轉換成字串,則將它們作為字串進行比較。
如果一個運算元是或轉換為字串,一個是或轉換為一個數字,運算子會嘗試將字串轉換為一個數字並執行數值比較。如果字串不表示一個數字,則轉換為
而且比較是假的。 (在JavaScript 1.1,轉換為數字的字串會導致錯誤,而不是yieldingnan。)
如果物件可以轉換為數字或字串,則JavaScript執行數值轉換。例如,這意味著對日期物件進行數值比較,比較兩個日期是否比另一個早。
如果比較運算子的運算元無法成功轉換為數字或字串,則這些運算子總是傳回false。如果兩個運算元都是或轉換為比較運算子總是產生false。
請記住字串比較是在嚴格的字元按字元的基礎上完成的,使用Unicode編碼中每個字元的數值。雖然在某些情況下,Unicode標準允許使用不同字元序列對等效字串進行編碼,但JavaScript比較運算子並沒有偵測到這些編碼差異;它們假定所有字串都以規範形式表示。特別注意字串比較是區分大小寫的,在Unicode編碼中(至少對於ASCII子集),所有大寫字母都小於「小寫字母」。如果你不期望,這個規則會導致混亂的結果。例如,根據<運算符,字串“動物園”小於字串“土豚”。一個更強大的字串比較演算法,看到localecompare()的字串。方法也考慮到按字母順序排列的特定於區域的定義。對於不區分大小寫的比較,你必須先將琴弦全部小寫或大寫字串。 toLowerCase()
或String.toUpperCase()。 < =(小於或等於)和> =(大於或等於)運算子不依賴等式或識別運算子來確定兩個值是否相等。相反,小於或等於運算子簡單地定義為“不大於”,而大於或等於運算子定義為“不小於”。在這種情況下,所有四個比較運算子都會傳回false。運營商希望左手操作數,或可以轉換為字串。預計一個右操作數是一個物件(或陣列)。它的計算結果為真如果左邊的右邊的值是物件的屬性的名稱。例如:
VaR點= { x:1、Y:1 };//定義一個objectvar has_x_coord =“X”點= { x:1、Y:1 };//定義一個objectvar has_x_coord =“X”點;/ /評估truevar has_y_coord =“Y”點;/ /評估truevar has_z_coord = 「Z」點;// false;不是一個三維pointvar TS =「說明」點;/ /繼承財產;為真
instanceof運算子
這是運營商希望左手操作數是一個物件和一個右操作數是一個類別的物件的名稱。運算子求值為true
如果左邊的物件是右邊的類別的一個實例,計算結果為false
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
#以上是js中比較運算子應如何科學使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!