var x = String.fromCharCode(65);
console.log(x); //returns "A"
它接受一个整数并返回相应的字符(字符串),但该字符的代码与输入完全相同!
引擎盖下发生了什么?它真的只返回它接受的内容吗?还是有其他逻辑吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
我相信它只维护一个ASCII码字典,并为输入整数{key}
返回字符{value}答案 2 :(得分:0)
fromCharCode
用于将Unicode编号转换为字符。 Unicode 65
是字符A
。因此String.fromCharCode(65)
会返回A
。
What happens under the hood here?
具有键值对的实现可能是HashMap
,其中Unicode值映射到相应的字符,或者它可能是switch
语句,它接受Unicode
并返回character
使用switch
实现的伪代码:
function fromCharCode(*args)
{
return args.map(unicodeToChar).join('')
}
function unicodeTochar(unicode)
{
switch(unicode)
{
//something
case 65:
return 'A'
case 66:
return 'B'
//something
}
}