字串(String)
String也是內建的物件,型態是string。宣告時可以使用單引號或雙引號,或是使用new String("...")物件方式宣告(此時型態為object)。>>第一個結果是因為兩個字串內容相同,之後幾個結果是因為型態不同或物件不同。(在JavaScript內比較兩個物件永遠都是false)
字串屬性
其實字串就是字元的陣列(array),所以一樣有length這個屬性。 >>
跟array的做法相同,若要使用forEach需要先分拆字串,在後面的方法介紹。不過字串雖然是個array,但是方法不大相同,無法通用,例如我們可以使用 s1[1]來得到字元,但是卻無法使用s1[1]='d';來改變字串內容。
字串方法(methods)
字串也有許多內建方法供我們使用,如下:
- charAt(): 在某個index位置的字元。
- charCodeAt():在某個index位置字元的Unicode value。 >>
第一行傳回b的unicode value而第二行是使用該value來印出b,但為何要使用62?那是因為要換成16進位。
換成16進位也可以讓電腦幫忙。 >>
若要知道數字的2進位或8進位只要把其中的數字改為2或8即可。
也可以不換成16進位,使用String.fromCharCode()方法即可。 請注意fromCharCode()是String類別方法,不是物件方法,所以要在之前加上String。 >>
unicode範圍介於0到65535(0xFFFF),這個方法輸入10進位或16進位皆可,你可以試著自己輸入不同數字。 - concat(): 連結兩個字串並傳回新字串。 跟array相同,不過字串也可以使用+號來串聯。
- endsWith():檢查字串是否結尾於某子字串,傳回boolean。 >>
- includes: 檢查字串是否包含某子字串,傳回boolean。 >>
- indexOf(): 尋找字串某一個子字串,傳回第一個出現的index,若不包含則傳回-1。 >>
- lastIndexOf(): 與indexOf()類似,只是搜尋方向自後向前。 >>
- localeCompare(): 比較兩個字串排序的先後,傳回1表示原字串在比較字串(傳入參數)之後,-1在之前,0則表示相同。 >>
- match(): 傳回符合regular expression(RE)的子字串。 >>
regular expression可以幫助我們尋找符合某種描述的字串。 - repeat(): 將字串重複給定次數。 >>
- replace(): 用新字串替代字串中符合某re規則的子字串。 >>
沒有re規則只替換了第一個子字串。 - search(): 搜尋字串中符合某re規則的子字串,傳回index,-1表示不包含該re規則的子字串。 >>
- slice(): 傳回某一範圍內之子字串。 >>
若是僅給一個數字表示直至字串的最後。 - split(): 將字串根據某字元分拆為數個單元並傳回包含所有單元之array。 >>
- startsWith(): 檢查字串是否開始於某子字串,傳回boolean。 >>
- substr(): 傳回某位置之後某長度的子字串。>>
- substring(): 傳回某一範圍內之子字串。效果同slice()。 >>
- toLocaleLowerCase(): 將字串中字元轉換成小寫。 >>
- toLowerCase(): 將字串中字元轉換成小寫。與toLocaleLowerCase()同。 >>
- toUpperCase(): 將字串中字母轉換為大寫。 >>
- trim(): 去除字串頭尾的空白。 >>