String 物件
String 物件
String
物件只有一個屬性,length
,用來指明字串中的字元數目。例如,下面的代碼把 13 的值代入給 x
,因為 "Hello, World!" 有 13 個字元︰
mystring = "Hello, World!" x = mystring.length
String
物件有兩種類型的方法︰一種是返回對字串本身的修改,如 substring
和 toUpperCase
,另一種是返回字串的 HTML 格式版本,如 bold
和 link
。
舉例來說,延用前面的例子,mystring.toUpperCase()
和 "hello, world!".toUpperCase()
都會返回字串 "HELLO, WORLD!"。
substring
方法接受兩個參數,並返回介於兩個參數之間的字串的子集。延用前面的例子,mystring.substring(4, 9)
返回字串 "o, Wo"。參閱 Core JavaScript 參考 中的 String 物件的 substring
方法,以取得更進一步資訊。
String
物件也有大量的針對自動的 HTML 格式化的方法,如 bold 建立粗體文字,link 建立超連結。例如,你可以使用 link 方法建立連結到某個 URL 的超連結,如下︰
mystring.link("http://www.helloworld.com")
下表列出 String
物件的方法。
方法 | 說明 |
---|---|
anchor | 建立已命名的 HTML 錨點。 |
big, blink, bold, fixed, italics, small, strike, sub, sup | 建立 HTML 格式的字串。 |
charAt, charCodeAt | 返回字串中指定位置的字元或者字元內碼。 |
indexOf, lastIndexOf | 返回字串中指定子字串的位置,或指定子字串的最後的位置。 |
link | 建立 HTML 超連結。 |
concat | 合併兩個字串的文字,並返回新的字串。 |
fromCharCode | 從指定的 Unicode 值的序列建構字串。這是 String 類別的方法,而不是 String 實體的。 |
split | 藉由把字串分成子字串的方式,把 String 物件分割成字串的陣列。 |
slice | 抽出字串的片斷,並返回新的字串。 |
substring, substr | 以指定的起始或終止索引、或起始索引和長度,返回指定字串的子集。 |
match, replace, search | 與正則表達式配合使用。 |
toLowerCase, toUpperCase | 返回全是大寫或全是小寫的字串。 |
表 7.4: String 實體的方法
字串的字面表達並不是 String 物件
String
物件只是字串的原始資料類型的包裝而已。別把字串的字面表達和 String
物件相混淆了。例如,下面的代碼建立字串的字面表達 s1
和 String 物件 s2
︰
s1 = "foo" // 建立字串的字面表達值 s2 = new String("foo") // 建立 String 物件
你可以在字串的字面表達值上呼叫所有的 String
物件的方法—JavaScript 會自動把字串的字面表達轉換成臨時的 String
物件,呼叫其方法,然後丟棄臨時的 String
物件。你也可以在字面表達上使用 String.length
屬性。
你應該使用字串的字面表達,除非你確定需要使用 String
物件,因為 String
物件會有反直覺的行為。例如︰
s1 = "2 + 2" // 建立字串的字面表達值 s2 = new String("2 + 2") //建立 String 物件 eval(s1) // 返回數字 4 eval(s2) // 返回字串 "2 + 2"