Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript charCodeAt为逗号生成错误的代码_Javascript - Fatal编程技术网

Javascript charCodeAt为逗号生成错误的代码

Javascript charCodeAt为逗号生成错误的代码,javascript,Javascript,为什么代码: ','.charCodeAt(0); 生成44,即使逗号的charcode是188(在keyup处理程序中获取event.keyCode时和之前都是如此)。字符和键是不同的东西 返回字符的数字Unicode值。 来自的keyCode表示键盘上的键 由于字符和键之间没有1:1映射,因此它们不一定使用相同的值。charCodeAt()返回字符的ascii值44是逗号的ascii码。有关详细信息,请参阅。字符和键是两种不同的东西。这就是为什么他们不一定有相同的代码。我理解这种混淆,特别

为什么代码:

','.charCodeAt(0);

生成
44
,即使逗号的charcode是
188
(在
keyup
处理程序中获取
event.keyCode
时和之前都是如此)。

字符和键是不同的东西

返回字符的数字Unicode值。
来自的
keyCode
表示键盘上的键


由于字符和键之间没有1:1映射,因此它们不一定使用相同的值。

charCodeAt()
返回字符的ascii值
44
是逗号的ascii码。有关详细信息,请参阅。字符和键是两种不同的东西。这就是为什么他们不一定有相同的代码。我理解这种混淆,特别是当有一些问题,例如,被接受的答案在哪里混淆了这两个术语,而其他答案包含过时的信息。这些最好是清理干净。@gre_gor请回答这个问题。我现在觉得有点傻。谢谢你的回答(如果你们中有人能从你的评论中做出实际的回答,我会很高兴地正式接受)。似乎我必须以其他方式将keycodes“转换”为char,如果必须将keycodes映射为charcode,则可以通过数组来实现。不过,您必须自己编写实现,它不是内置的。