JavaScript 字元串(上)
三種引号
字元串可以包含在單引号、雙引号或反引号中
//用法
let single = 'Single quotation mark'; //單引号
let double = "Double quotation mark"; //雙引号
let backquote = `backquote`; //反引号
- 單引号 與 雙引号 基本相同。
- 反引号 允許我們通過 ${…} 将任何表達式嵌入到字元串中:
- 反引号 允許字元串換行:
//用法
//可以插入變量及表達式
var a = "Hello";
alert(`${a} World`); // Hello World
//可以換行
let row = `first line
Second line
Third line
`;
字元串特殊字元
所有的特殊字元都以反斜杠字元 \ 開始。它也被稱為“轉義字元”。
//用法
let string1 = "Hello\nWorld";
let string2 = "\u{20331}"; // 佫,罕見的中國象形文字(長 unicode)
代碼 | 輸出 |
---|---|
' | 單引号 |
" | 雙引号 |
& | 和号 |
\ | 反斜杠 |
\n | 換行符 |
\r | 回車符 |
\t | 制表符 |
\b | 倒退符 |
\f | 換頁符 |
\xXX | 具有給定十六進制 Unicode XX 的 Unicode 字元,例如:'\x7A' 和 'z' 相同。 |
\uXXXX | 以 UTF-16 編碼的十六進制代碼 XXXX 的 unicode 字元,例如 \u00A9 —— 是版權符号 © 的 unicode。它必須正好是 4 個十六進制數字。 |
\u{X…XXXXXX}(1 到 6 個十六進制字元) | 具有給定 UTF-32 編碼的 unicode 符号。一些罕見的字元用兩個 unicode 符号編碼,占用 4 個位元組。這樣我們就可以插入長代碼了。 |
length
length 屬性表示字元串長度
//用法
let string = 'Hello';
console.log(string.length);// 5
注意: str.length 是一個數字屬性,而不是函數。後面不需要添加括号
charAt()與[]
要擷取在 某個 位置的一個字元可以用
charAt()或者
[]第一個字元從零位置開始:
//用法
let string = 'Hello';
string.charAt(0); //H
string.[0]; //H
string.charAt(10); //""
string.[10]; //undefined,
如果沒有找到字元:
- [] 傳回 undefined,
- charAt() 傳回一個空字元串.
toLowerCase() 與 toUpperCase()
- toLowerCase() 方法可以将字元串英文全部變成小寫字母:
- toUpperCase() 方法可以将字元串英文全部變成大寫字母:
//用法
'Hello'.toLowerCase(); //hello
'Hello'.toUpperCase(); //HELLO
indexOf()
方法可傳回某個指定的字元串值在字元串中首次出現的位置。如果沒有找到,則傳回 -1。
有兩個參數
必選的第一個參數是你要查找的字元串
可選的第二個參數允許我們從給定的起始位置開始檢索。
//用法
let string = 'Hello World';
string.indexOf('H') // 0
string.indexOf('H', 2) // -1
includes(),startsWith(),endsWith()
- includes():方法傳回布爾值,表示是否找到了參數字元串。(第二個參數允許我們從給定的起始位置開始檢索。)
- startsWith():方法傳回布爾值,表示參數字元串是否在原字元串的頭部。
- endsWith():方法傳回布爾值,表示參數字元串是否在原字元串的尾部。
//用法
let string = 'Hello World';
string.includes('World') // true
string.includes('World',6) // false
string.startsWith('H') // true
string.endsWith('d') // true
slice(),substr(),substring()
都是截取字元串,三個方法都接收 兩個參數
- slice() 方法第一個參數可為負數。第二個參數是指定截取長度。
- substr() 方法第一個參數為負數被替換成0。交換參數位置,小的在前。第二個參數是指定結束位置。
- substring() 方法第一個參數可為負數。第二個參數是指定結束位置。
//用法
var string = 'hello world';
string.slice(-3); //rld
string.sbstr(-3); //rld
string.substring(-3); //hello world
string.slice(3,-4); //lo w
string.substr(3,-4); //""
string.substring(3,-4); //hel
注意:substr()第二個參數指定的是截取的長度,slice()和substirng()第二個參數指定截取的結束位置。
方法 | 選擇方式…… | 負值參數 |
---|---|---|
slice() | 從 第一個參數 到 第二個參數(不含 第二個參數) | 允許 |
substring() | 第一個參數 與 第二個參數 之間(包括 第一個參數,但不包括 第二個參數 | 負值代表 0 |
substr() | 從 第一個參數 開始擷取長為 第二個參數 的字元串 | 允許 第一個參數 為負數 |
codePointAt() 與 String.fromCodePoint()
codePointAt() 方法傳回在 參數 位置的字元代碼 :
String.fromCodePoint() 方法通過 參數 建立字元
//用法
// 大小寫字母意思不同
"z".codePointAt(0); // 122
"Z".codePointAt(0); // 90
String.fromCodePoint(90); // Z
注意:字元串的比較是按字母順序逐字比較。所有的字元串都使用 UTF-16 編碼。比較字母大小,是比較字母在編碼中數字代碼的大小
本文參考:
https://www.w3school.com.cn/
https://javascript.info/