Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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 你能像String.fromCharCode一样使用String.fromCodePoint吗_Javascript_Input - Fatal编程技术网

Javascript 你能像String.fromCharCode一样使用String.fromCodePoint吗

Javascript 你能像String.fromCharCode一样使用String.fromCodePoint吗,javascript,input,Javascript,Input,我仍在学习JavaScript并练习从键盘获取输入。我刚刚学习了String.fromCodePoint,而且(在我看来)似乎可以学习String.fromCharCode所做的一切 浏览器和设备广泛支持String.fromCodePoint,如果支持,是否会使String.fromCharCode过时,或者您有时会使用String.fromCharCode来代替?字符串。fromCodePoint不受广泛支持,事实上,Internet Explorer和Safari完全不支持它,只有Chro

我仍在学习JavaScript并练习从键盘获取输入。我刚刚学习了
String.fromCodePoint
,而且(在我看来)似乎可以学习
String.fromCharCode
所做的一切


浏览器和设备广泛支持
String.fromCodePoint
,如果支持,是否会使
String.fromCharCode
过时,或者您有时会使用
String.fromCharCode
来代替?

字符串。fromCodePoint
不受广泛支持,事实上,Internet Explorer和Safari完全不支持它,只有Chrome 41和更高版本以及Firefox 29和更高版本才支持它

这并不意味着它已经过时,而是意味着它是一种新方法,仅在ES2015中首次定义。
这也意味着随着浏览器实现第6版ECMAScript中的所有新功能,对浏览器的支持将得到改善


目前,如果您需要支持所有当前浏览器,它不太适合在生产环境中使用,但是如果您确实需要在所有浏览器中使用此方法,则可以在上使用polyfill。

String。所有浏览器都支持fromCharCode

字符串。fromCodePoint的浏览器支持有限:

fromCharCode
还没有过时,但如果所有浏览器都支持它,它就会过时。但是
fromCharCode
fromCodePoint

  • Internet Explorer和Safari不支持

  • 永远支持,速度加倍

  • 区别在于:

    尽管大多数常见的Unicode值可以用一个16位数字表示(正如JavaScript标准化早期所预期的那样),并且fromCharCode()可以用于返回最常见值的单个字符(即UCS-2值,它是UTF-16的子集,具有最常见的字符),为了处理所有合法的Unicode值(最多21位),仅fromCharCode()是不够的。由于较高的代码点字符使用两个(较低值)“代理”数字组成单个字符,因此可以使用String.fromCodePoint()(ES6草案的一部分)返回这样的一对,从而充分表示这些较高值的字符


看看浏览器的兼容性,我没想到fromCharCode会更快。。。谢谢分享这个速度测试链接。现在,我将继续使用fromCharCode进行基本的键盘输入。请注意,性能上的差异现在可以忽略不计——在做出决定之前,请确保自己运行测试。