3

拿这个代码:

var charCode = unkownVariable.charCodeAt(0);

最大长度charCode是多少?我所有的测试结果都是 2 个字符(2 个数字)。它会更长吗?

4

3 回答 3

4

规范

返回一个数字(一个小于 2 16pos的非负整数),表示将该对象转换为字符串后在字符串中的位置处的字符的代码单元值。如果该位置没有字符,则结果为NaN

因此,2 16 - 1 是最大值,即65535

于 2013-03-21T17:03:44.643 回答
1

简短的回答:是的。

var unkownVariable = 'test';
var charCode = unkownVariable.charCodeAt(0);
console.log(charCode); // 116

有 16 位用于显示字符(需要考虑不同的语言和字符集),因此理论上响应可能介于 0 和 65536 (2^16) 之间。

于 2013-03-21T17:03:40.030 回答
1

MDN 说

请注意,charCodeAt 将始终返回小于 65,536 的值。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/charCodeAt

于 2013-03-21T17:05:10.233 回答