02.18 「前端架構師30天快速掌握js10」之String類知識點詳解

此篇文章講解目錄:

  • 字符串的創建

  • 字符串的方法

字符串的創建

  • 字符串的2種創建方法:

  • var stringObject = new String("hello world one");

  • var testString="hello word too";

「前端架構師30天快速掌握js10」之String類知識點詳解

字符串的方法

查找方法

  • charAt(index)

  • 功能:返回指定位置的字符。

  • 參數:字符在字符串中的下標。必須;

  • 註釋:字符串中第一個字符的下標是 0。如果參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • charCodeAt(index)

  • 功能:返回在指定的位置的字符的 Unicode 編碼。

  • 參數:字符在字符串中的下標。必須;

  • 註釋:字符串中第一個字符的下標是 0。如果 index 是負數,或大於等於字符串的長度,則 charCodeAt() 返回 NaN。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • formCharCode(Unicode,Unicode,Unicode)

  • 功能:用Unicode 編碼創建一個字符串。

  • 參數:一個或多個 Unicode 值,即要創建的字符串中的字符的 Unicode 編碼。

  • 註釋:該方法是 String 的靜態方法,字符串中的每個字符都由單獨的數字 Unicode 編碼指定。它不能作為您已創建的 String 對象的方法來使用。因此它的語法應該是 String.fromCharCode(),而不是myStringObject.fromCharCode()。

「前端架構師30天快速掌握js10」之String類知識點詳解

位置方法

  • indexOf(searchValue,fromindex)

  • 功能:返回某個指定的字符串值在字符串中首次出現的位置。

  • 參數:searchValue是必需的,規定需檢索的字符串值;fromindex是可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的首字符開始檢索。

  • 註釋:indexOf() 方法對大小寫敏感!如果要檢索的字符串值沒有出現,則該方法返回 -1。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • lastIndexOf(searchValue,fromindex)

  • 功能:返回一個指定的字符串值最後出現的位置,在一個字符串中的指定位置從後向前搜索。如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,則返回的是出現的最後一個 searchvalue 的位置。

  • 參數:searchValue是必需的,規定需檢索的字符串值;fromindex是可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的首字符開始檢索。

  • 註釋:lastIndexOf() 方法對大小寫敏感!如果要檢索的字符串值沒有出現,則該方法返回 -1。

「前端架構師30天快速掌握js10」之String類知識點詳解

匹配方法

  • search(regexp)

  • 功能:用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串。

  • 該參數可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp 對象。要執行忽略大小寫的檢索,請追加標誌 i。

  • 註釋:search() 方法不執行全局匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastIndex 屬性,並且總是從字符串的開始進行檢索,這意味著它總是返回 stringObject 的第一個匹配的位置。如果沒有找到任何匹配的子串,則返回 -1。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • replace(regexp/substr,replacement)

  • 功能:於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

  • 參數:regexp/substr必需。規定子字符串或要替換的模式的 RegExp 對象。如果該值是一個字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象。replacement必需。一個字符串值。規定了替換文本或生成替換文本的函數。

  • 返回值:一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。

  • 說明:字符串 stringObject 的 replace() 方法執行的是查找並替換的操作。它將在 stringObject 中查找與 regexp 相匹配的子字符串,然後用 replacement 來替換這些子串。如果 regexp 具有全局標誌 g,那麼 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。replacement 可以是字符串,也可以是函數。如果它是字符串,那麼每個匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用於替換。

  • 注意:ECMAScript v3 規定,replace() 方法的參數 replacement 可以是函數而不是字符串。在這種情況下,每個匹配都調用該函數,它返回的字符串將作為替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明瞭匹配在 stringObject 中出現的位置。最後一個參數是 stringObject 本身。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • split(separator,howmany)

  • 功能:把字符串分割為字符串數組。

  • 參數:separator必需。字符串或正則表達式,從該參數指定的地方分割 stringObject。howmany,可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多於這個參數指定的數組。如果沒有設置該參數,整個字符串都會被分割,不考慮它的長度。

  • 返回值:一個字符串數組。該數組是通過在 separator 指定的邊界處將字符串 stringObject 分割成子串創建的。返回的數組中的字串不包括 separator 自身。但是,如果 separator 是包含子表達式的正則表達式,那麼返回的數組中包括與這些子表達式匹配的字串(但不包括與整個正則表達式匹配的文本)。

  • 註釋:如果把空字符串 ("") 用作 separator,那麼 stringObject 中的每個字符之間都會被分割。String.split() 執行的操作與 Array.join 執行的操作是相反的。

「前端架構師30天快速掌握js10」之String類知識點詳解

操作方法

  • concat(stringX,stringX,...,stringX)

  • 功能:連接兩個或多個字符串。

  • 參數:stringX必需。將被連接為一個字符串的一個或多個字符串對象。

  • concat() 方法將把它的所有參數轉換成字符串,然後按順序連接到字符串 stringObject 的尾部,並返回連接後的字符串。請注意,stringObject 本身並沒有被更改。stringObject.concat() 與 Array.concat() 很相似。

  • 提示:請注意,使用 " + " 運算符來進行字符串的連接運算通常會更簡便一些。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • slice(start,end)

  • 提取字符串的片斷,並在新的字符串中返回被提取的部分。

  • 參數:start要抽取的片斷的起始下標。如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最後一個字符,-2 指倒數第二個字符,以此類推。end緊接著要抽取的片段的結尾的下標。若未指定此參數,則要提取的子串包括 start 到原字符串結尾的字符串。如果該參數是負數,那麼它規定的是從字符串的尾部開始算起的位置。

  • 一個新的字符串。包括字符串 stringObject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字符。

  • String 對象的方法 slice()、substring() 和 substr() (不建議使用)都可返回字符串的指定部分。slice() 比 substring() 要靈活一些,因為它允許使用負數作為參數。slice() 與 substr() 有所不同,因為它用兩個字符的位置來指定子串,而 substr() 則用字符位置和長度來指定子串。還要注意的是,String.slice() 與 Array.slice() 相似。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • substring(start,stop)

  • 功能:提取字符串中兩個指定的索引號之間的字符。

  • 參數:start必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。stop可選。一個非負的整數,比要提取的子串的最後一個字符在 stringObject 中的位置多 1。如果省略該參數,那麼返回的子串會一直到字符串的結尾。

  • 返回值:一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度為 stop 減 start。

  • 說明:substring() 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。如果參數 start 與 stop 相等,那麼該方法返回的就是一個空串(即長度為 0 的字符串)。如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個參數。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • substr(start,length)

  • 功能:在字符串中抽取從 start 下標開始的指定數目的字符。

  • start 必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該參數聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最後一個字符,-2 指倒數第二個字符,以此類推。length可選。子串中的字符數。必須是數值。如果省略了該參數,那麼返回從 stringObject 的開始位置到結尾的字串。- 空格處理

  • 返回值:一個新的字符串,包含從 stringObject 的 start(包括 start 所指的字符) 處開始的 length 個字符。如果沒有指定 length,那麼返回的字符串包含從 start 到 stringObject 的結尾的字符。

  • 提示和註釋:註釋:substr() 的參數指定的是子串的開始位置和長度,因此它可以替代 substring() 和 slice() 來使用。

  • 重要事項:ECMAscript 沒有對該方法進行標準化,因此反對使用它。

「前端架構師30天快速掌握js10」之String類知識點詳解

  • trim 清除前置以及後綴空格

  • trimLeft 清除前置空格

  • trimRight 清除後綴空格

「前端架構師30天快速掌握js10」之String類知識點詳解

編碼方法

  • 字符串常規編碼與解碼

  • escape()

  • unescape()

  • URI字符串編碼與解碼

  • encodeURI

  • decodeURI

  • URI組件編碼與解碼

  • encodeURIComponent()

  • decodeURIComponent()

「前端架構師30天快速掌握js10」之String類知識點詳解

轉換方法

  • 轉為大寫

  • toUpperCase()

  • toLocaleUpperCase()

  • 轉為小寫

  • toLowerCase()

  • toLocaleLowerCase()

「前端架構師30天快速掌握js10」之String類知識點詳解

大家好接下來我們會邀請前端架構師以連載的方式,通過30天的實戰系統講解JavaScript的專業知識,歡迎大家關注頭條號“互聯網IT信息”。


分享到:


相關文章: