charCodeAt()
方法返回一个介于 0 和 65535 之间的整数,表示给定索引处的 UTF-16 码单元。
示例
// string definition
const greeting = "Good morning!";
// UTF-16 code unit of character at index 5
let result = greeting .charCodeAt(5);
console.log(result);
// Output: 109
charCodeAt() 语法
charCodeAt()
方法的语法是:
str.charCodeAt(index)
其中,str 是一个字符串。
charCodeAt() 参数
charCodeAt()
方法接受一个参数:
- index - 一个介于 0 和 (str.length - 1) 之间的整数。
注意: str.length 返回给定 字符串 的长度。
charCodeAt() 返回值
- 返回一个数字,表示给定索引处字符的 UTF-16 码单元值。
注意事项:
charCodeAt()
方法始终返回小于 65,536 的值。- 如果一个 Unicode 码点不能用单个 UTF-16 码单元表示(值大于 0xFFFF),则它会返回该码点对的第一个部分。
示例 1:使用 charCodeAt() 方法
const greeting = "Good morning!";
// UTF-16 code unit of character at index 5
let result1 = greeting .charCodeAt(5);
console.log(result1);
// UTF-16 code unit of character at index 5.2
let result2 = greeting .charCodeAt(5.2);
console.log(result2);
// UTF-16 code unit of character at index 5.9
let result3 = greeting.charCodeAt(5.9);
console.log(result3);
输出
109 109 109
在上面的示例中,我们使用 charCodeAt()
方法访问索引 5 处的字符的 UTF-16 码单元。
由于索引 5 处的字符是 "m"
,该方法返回 "m"
的 UTF-16 码单元。
同样,对于非整数索引 5.2 和 5.9,这些数字将被转换为最接近的整数值,即 5,因此该方法再次返回 "m"
的 UTF-16 码单元,即 109。
示例 2:索引超出范围的 charCodeAt() 方法
const greeting = "Good morning!";
// passing index greater than length of string
let result3 = greeting.charCodeAt(18);
console.log(result3);
// passing non-negative index value
let result4 = greeting.charCodeAt(-9);
console.log(result4);
输出
NaN NaN
在上面的示例中,我们创建了一个字符串 "Good morning!"
。
在这里,greeting.charCodeAt(18)
和 greeting.charCodeAt(-9)
都返回 NaN
,因为索引 18 和 -9 都不在给定的字符串中。
示例 3:带有默认参数的 charCodeAt()
const greeting = "Good morning!";
// without passing parameter in charCodeAt()
let result1 = greeting.charCodeAt();
console.log(result1);
// passing 0 as parameter
let result2 = greeting.charCodeAt(0);
console.log(result2);
输出
71 71
在上面的示例中,由于我们在 charCodeAt()
中没有传递任何参数,因此默认值将是 0。
因此,该方法返回索引 0 处字符的 UTF-16 码单元,即 71。
另请阅读