JavaScriptFAQ(六)——字串
四、字串
1. 字串中的引號(Quotes in String)
Q:我如何在字串中插入引號呢?
A:字串中的引號應該用一個反斜槓(/)引導。如此,JavaScript就會分辨出這些引號是普通字串還是字串的分隔符。下面是示例:
string1=`It/`s five o/`clock!`; string2="<A HREF=/"index.htm/">";
或者,如果字串中只包含有單引號,那麼你可以使用雙引號作為字串的分隔符,反之亦然。下面是一個例子:
string1="It`s five o`clock!"; string2=`<A HREF="index.htm">`;
2. 將數字轉化為字串(Converting Numbers to Strings)
Q:在JavaScript中,我怎樣將數字轉化為字串?
A:最簡單的方法是數字變數加上一個空字串,例如:
a = a+`` // This converts a to string b += `` // This converts b to string
在上面的例子中,結果字串中儲存的是十進位制的數字,如果要轉化為二進位制、八進位制或者十六進位制(或其他任何進位制)字串,參加(轉化其他進位制 Converting to Another Base)。
3. 將字串轉化為數字(Converting Strings to Numbers)
Q:在JavaScript中,我怎樣把字串轉化為數字呢?
A:要將字串轉化為數字,可以使用JavaScript的函式parseFloat(轉化為浮點數)或者parseInt(轉化為整數)。
parseFloat語法:parseFloat(`string`)
工作方式:
parseFloat的引數必須為字串或字串表示式。parseFloat的返回結果是字串內數字的十進位制數(或者是字串最開始的數字)。如果字串不能被解析為一個十進位制數,那麼返回值將由於瀏覽器而不同(0或者NaN)。
示例(註釋內是轉化結果):
parseFloat(`1.45kg`) // 1.45 parseFloat(`77.3`) // 77.3 parseFloat(`077.3`) // 77.3 parseFloat(`0x77.3`) // 0 parseFloat(`.3`) // 0.3 parseFloat(`0.1e6`) // 100000
parseInt語法:parseInt(`string` [, base])
工作方式:
parseInt的第一個引數必須是字串或者字串表示式。parseInt的返回結果是字串包含的一個整數(或者字串最開始的一個整數)。第二個引數(base),如果有,給出了字串中數字的進位制。引數base的值可以從2到36之間的任何一個值。
如果只有一個引數,數字的進位制會通過JavaScript的一般語法來檢測。以0x或-0x開頭的字串會被解析為十六進位制數;以0或者-0開始的字串會被解析為八進位制數;其他都作為十進位制數對待。
如果字串引數不能被解析為一個整數,返回結果也會根據瀏覽器的不同而不同(0或者NaN)。
示例(行後的註釋是轉化結果):
parseInt(`123.45`) // 123 parseInt(`77`) // 77 parseInt(`077`,10) // 77 parseInt(`77`,8) // 63 (= 7 + 7*8) parseInt(`077`) // 63 (= 7 + 7*8) parseInt(`77`,16) // 119 (= 7 + 7*16) parseInt(`0x77`) // 119 (= 7 + 7*16) parseInt(`099`) // 0 (9 is not an octal digit) parseInt(`99`,8) // 0 or NaN, depending on the platform parseInt(`0.1e6`) // 0 parseInt(`ZZ`,36) // 1295 (= 35 + 35*36)
4. 子字串(Substrings)
Q:我怎樣從一個字串中抽取一個子字串呢?
A:要從一個字串中抽取一個子字串,可以使用substring方法:
string.substring(start, end)
這裡:
string 是你想從其中抽取子字串的字串。
start 是一個數字,指定子字串開始的字元的位置。(在start位置上的字元也會包含到子字串中。)
end 是一個數字,指定子字串結束的字元的位置。(在end位置上的字元不會包含到字串中。)
注意,字串中第一個字元的位置是0,最後一個是string.length-1。
示例:
`Hello`.substring(0,2) // `He` `Hello`.substring(0,4) // `Hell` `Hello`.substring(1,3) // `el`
5. URL-encoding
Q:我如何把一個字串轉化URL-encoding?
A:要把一個字串轉化URL編碼形式以適合作為一個查詢字串傳遞(或者,一般來說,即作為URL的一部分),可以使用escape函式。這個函式工作原理是:數字、拉丁字母和+ – * / . _ @保持不變,其他所有字串都被轉化為%XX的轉義形式,其中XX是原字元的ASCII碼。例如:
escape("It`s me!") // result: It%27s%20me%21
在可以識別Unicode的瀏覽器上(支援JavaScript1.3),函式escape會有更加複雜的動作。如果輸入是Unicode字串,將被轉化為轉義後的Unicode形式%uXXXX。
6. 反轉義(unescape)
Q:我如何從URL-encoding轉化字串?
A:要從URL-encoding形式轉化字串,可以使用JavaScript函式unescape(string)。這個函式的工作方式是:如果字串包含形如%XX的轉義序列,其中XX代表兩個十六進位制數字,每一個轉義序列都會被ASCII碼是XX的字元替代。因此,字串保持不變。
(在可以識別Unicode的瀏覽器上,除了轉義序列%XX外,函式unescape也可以處理%uXXXX形式的轉義序列。)
例如:
unescape("It%27s%20me%21") // result: "It`s me!"
相關文章
- JavaScriptFAQ(十八)——CSSJavaScriptCSS
- JavaScriptFAQ(十三)——圖片JavaScript
- JavaScriptFAQ(十四)——滑鼠事件(一)JavaScript事件
- JavaScriptFAQ(二十)——日期和時間JavaScript
- JavaScriptFAQ(十九)——檔案訪問JavaScript
- JavaScriptFAQ(一)——常見問題(一)JavaScript
- JavaScriptFAQ(二十五完)——錯誤處理JavaScript
- 小白自學Python(六)Python字串(上)Python字串
- 第六章 生成隨機字串並排序 練習隨機字串排序
- [swift 進階]讀書筆記-第六章:字串 C7P2 字串和集合Swift筆記字串
- 字串-字串分割字串
- 字串-簡單字串排序字串排序
- 六
- 字串-簡單字串比較字串
- 字串查詢(字串雜湊)字串
- 比較字串和數字串字串
- xml字串轉JSON字串XML字串JSON
- 六問六答理解ForkJoin原理
- 字串字串
- 字串相乘——求字串的乘積字串
- MySQL 字串函式:字串擷取MySql字串函式
- py匹配字串中間的字串字串
- 第七章——字串(字串效能)字串
- 比較字串和數字串(續)字串
- JavaFX教程-字串和字串表示式Java字串
- iOS 擷取字串中兩個指定字串中間的字串iOS字串
- Awk 字串連線操作(字串轉數字,數字轉字串)字串
- 六,Arrays
- 寒假六
- 六、索引索引
- JAVA字串轉日期或日期轉字串Java字串
- Js刪除字串中的指定字串JS字串
- RQNOJ 514 字串距離:dp & 字串字串
- JavaScript字串指定位置插入新字串JavaScript字串
- 第七章——字串(字串除錯)字串除錯
- 第七章——字串(字串與集合)字串
- php判斷字串A是否含有字串BPHP字串
- LoadRunner字串處理 - 補齊字串字串