JavaScript String對象

來源:互聯網
上載者:User

標籤:

一、String 對象介紹

String對象,和其他語言一樣,用於對字串的處理。

字串在實際的開發中用的估計是最多的,所以對字串的使用熟練程度,也會影響項目開發的速度。

文法很簡單:var str=new String(“strValue”);但我們基本都是用直接賦值的方式,即 var str=“strValue”;

說明:

雖然上面兩種方法都可以建立我們想要的字串,但是直接賦值的方式建立的String對象與用new運算子建立的String對象  處理上不同。所有字串共用公用的全域字串對象。如果為字串添加屬性,則它對所有字串標準都是可以使用的。

 看著上面那句話可能很多人都暈乎乎的,不理解是什麼意思,下面給個例子說明下可能就會很好理解了.

(1)直接賦值方法

Codevar str1,str2;str1="這是一個字串";str2="這也是一個字串";str1.test=10;


上面str1設定了一個test屬性,那麼str2也被定義了test屬性,其實在str1以後定義的所有字串都被定義了test屬性。

(2)new 建立方法

Codevar str1,str2;str1=new String("這是一個字串");str2=new Stirng("這是另一個字串");str1.test=10;


在這種情況下str2 則不定義test屬性。因為每個用new String()聲明的String對象都有其自己的一群組成員。

 

二、String對象常用的方法

(1)charAt(index) 方法,返回指定索引位置的字元。其中index的值為0到字串長度減1之間,若超出這個範圍,那麼將返回Null 字元。

Codefunction charAt01(str,index){    var s=str.charAt(index);    return s;}

 

( 2 )concat(String)方法,返回串連後的字串,返回的結果可以是兩個字串或者更多的字串串連的結果 。即str=str1+str2+str3+…”"+strN;如果其中有不是字串的參數,那麼在串連之前會轉換為字串。

Codefunction concat01(str1,str2){  return str1.concat(str2)}


 

(3) indexOf()方法,返回字串中第一次出現要尋找字元的位置,有效值為0到被尋找字串的長度減1.該方法返回的是一個整數值,若返回-1,則表示沒有找到字串。

Codefunction indexOf01(str){  var str1="abcdefg";  return str1.indexOf(str);}


indexOf()方法其實還有一個參數,那就是開始尋找的位置,即寫法為str1.indexOf(str2,startIndex),如果startIndex為負數,那麼會被認為是0,如果startIndex大於str1的長度,那麼會被認為是最大的尋找索引。

(4)lastIndexOf(),返回被尋找字串中最後出現的位置。指出 String 對象內子字串的開始位置。如果沒有找到子字串,則返回 -1。

Codefunction latIndexOf01(str){  var s="abcdefg";  return s.lastIndexOf(str);}

 

同樣lastIndexOf()方法也有一個參數,也是開始尋找的位置,即寫法為str1.lastIndexOf(str2,startIndex),如果startIndex為負數,那麼會被認為是0,如果startIndex大於str1的長度,那麼會被認為是最大的尋找索引。

   值得說明的是:indexOf是從左往右尋找,lastIndexOf是從右往左尋找,否則兩者就不必要同時存在了。

(5)replace方法,返回根據Regex進行文字替換後的字串的複製,文法為str.replace(rgExp, replaceText),

str

必選項。要執行該替換的 String 對象或字串文字。該字串不會被 replace 方法修改。

rgExp

必選項。為包含Regex模式或可用標誌的Regex對象。也可以是 String 對象或文字。如果 rgExp 不是Regex對象,它將被轉換為字串,並進行精確的尋找;不要嘗試將字串轉化為Regex。

replaceText

必選項。是一個String 對象或字串文字,對於stringObj 中每個匹配 rgExp 中的位置都用該對象所包含的文字加以替換。在 Jscript 5.5 或更新版本中,replaceText 參數也可以是返回替換文本的函數。

Codefunction ReplaceDemo(){    var r, re;        var ss = "The man hit the ball with the bat.\n";   ss += "while the fielder caught the ball with the glove.";   re = /The/g;                r = ss.replace(re, "A");    return(r);                   }

 

(6) subString方法,返回指定位置的字串,文法為subString(startIndex,endIndex);startIndex開始位置,endIndex結束位置,索引是從0開始的。

說明:

substring 方法將返回一個包含從 start 到最後(不包含 end )的子字串的字串。

substring 方法使用 startend 兩者中的較小值作為子字串的起始點。例如, strvar.substring(0, 3)strvar.substring(3, 0) 將返回相同的子字串。

如果 startendNaN 或者負數,那麼將其替換為0。

子字串的長度等於 startend 之差的絕對值。例如,在 strvar.substring(0, 3)strvar.substring(3, 0) 返回的子字串的的長度是 3。

Codefunction SubstringDemo(){    var ss;                   var s = "The rain in Spain falls mainly in the plain..";   ss = s.substring(12, 17);      return(ss);  }

 

當然String對象還有其他的方法,但是那些方法基本很少用在這裡就不說了,大家可以參考說明文檔。

 

需要補充的是:在開發中很少單獨使用一個方法,而是很多方法結合一起使用,例如一個新聞網頁網址為http://www.hello.com?id=1 ,我需要得到網址,不需要前面的http和後面的id,那麼我們就可以這樣做:

Codefunction test(){   var str="http://www.hello.com?id=1";  return str.subString(str.indexOf("//")+1,str.lastIndexOf("?")-1);}


以上的列子都是在插入代碼塊中填寫,由於時間關係還未驗證,如果有錯誤,請指出,謝謝

JavaScript String對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.