国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript中判斷兩個字符串是否相等的方法

2024-05-06 16:22:52
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了JavaScript中判斷兩個字符串是否相等的方法,是JS入門學習中的基礎知識,需要的朋友可以參考下

先將用戶的輸入值全部轉換為大寫(或小寫),然后再行比較:

 

 
  1. var name = document.form1.txtUserName.value.toLowerCase(); 
  2.  
  3.  
  4. if(name == "urname"
  5.  
  6.  
  7.  
  8.  
  9. // statements go here. 
  10.  
  11.  

JavaScript有兩種相等運算符。一種是完全向后兼容的,標準的"==",如果兩個操作數類型不一致,它會在某些時候自動對操作數進行類型轉換,考慮下面的賦值語句:

 

 
  1. var strA = "i love you!"
  2.  
  3.  
  4. var strB = new String("i love you!"); 

這兩個變量含有相同的字符序列,但數據類型卻不同,前者為string,后者為object,在使用"=="操作符時,JavaScript會嘗試各種求值,以檢測兩者是否會在某種情況下相等。所以下面的表達式結果為true: strA == strB。

第二種操作符是"嚴格"的"===",它在求值時不會這么寬容,不會進行類型轉換。所以表達式strA === strB的值為false,雖然兩個變量持有的值相同。

有時代碼的邏輯要求你判斷兩個值是否不相等,這里也有兩個選擇:"!="和嚴格的"!==",它們的關系就類似于"=="和"==="。

討論:

"=="和"!="在求值時會盡可能地尋找值的匹配性,但你可能還是想在比較前進行顯式的類型轉換,以"幫助"它們完成工作。比如,如果想判斷一個用戶的輸入值(字符串)是否等于一個數字,你可以讓"=="幫你完成類型轉換:

 

 
  1. if(document.form1.txtAge.value == someNumericVar) { ... } 

也可以提前轉換:

 

 
  1. if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... } 

如果你比較習慣于強類型的編程語言(比如C#,Java等),那么這里你可以延續你的習慣(類型轉換),這樣也會增強程序的可讀性。

有一種情況需要注意,就是計算機的區域設置。如果用"<"和">"來比較字符串,那么JavaScript把它們作為Unicode來比較,但顯然,人們在瀏覽網頁時不會把文本當作Unicode來閱讀:) 比如在西班牙語中,按照傳統的排序,"ch"將作為一個字符排在"c"和"d"之間。localeCompare()提供了一種方式,可以幫助你使用默認區域設置下的字符排序規則。

 

 
  1. var strings; // 要排序的字符串數組,假設已經得到初始化 
  2.  
  3.  
  4. strings.sort(function(a,b) { return a.localeCompare(b) }); // 調用sort()方法進行排序 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 普陀区| 岗巴县| 双辽市| 邵阳市| 五大连池市| 任丘市| 常德市| 红原县| 台江县| 江陵县| 鄂温| 红河县| 勃利县| 江北区| 洛浦县| 木兰县| 长丰县| 醴陵市| 桃江县| 安远县| 金乡县| 墨竹工卡县| 垫江县| 阿城市| 四会市| 峨山| 靖边县| 电白县| 永福县| 永康市| 西峡县| 莫力| 西宁市| 克什克腾旗| 思南县| 申扎县| 桂平市| 紫云| 博爱县| 阜城县| 平乐县|