我还在学习JavaScript并练习从键盘输入。我刚刚了解了String.fromCodePoint
并且(对我而言)似乎接受了String.fromCharCode
所做的一切。
浏览器和设备是否广泛支持String.fromCodePoint
,如果支持,String.fromCharCode
是否已过时,或者您有时会使用String.fromCharCode
吗?
答案 0 :(得分:8)
fromCharCode
尚未过时,但如果所有浏览器都支持它。但fromCharCode
与fromCodePoint
String.fromCodePoint() Internet Explorer和Safari不支持
String.fromCharCode() 永远支持,加倍加速
区别:
虽然大多数常见的Unicode值可以用一个16位数字表示(正如JavaScript标准化早期所预期的那样),而fromCharCode()可用于返回最常见值的单个字符(即UCS-2值)这是UTF-16的子集,具有最常见的字符),为了处理所有合法的Unicode值(最多21位),仅来自theCharCode()是不够的。由于较高的代码点字符使用两个(较低值)“代理”数字来形成单个字符,因此String.fromCodePoint()(ES6草案的一部分)可用于返回这样的一对,从而充分代表这些较高价值的字符
答案 1 :(得分:4)
String.fromCodePoint
并未得到广泛支持,实际上它在Internet Explorer和Safari中完全不受支持,仅在Chrome 41及更高版本以及Firefox 29及更高版本中受支持。
这并不意味着它已经过时,这意味着它是一种新方法,仅在ES2015中首次定义。
这也意味着浏览器支持将随着时间的推移而变得更好,因为浏览器实现了第6版ECMAScript中的所有新功能。
目前,如果您需要支持所有当前浏览器,它不太适合生产使用,但如果您确实需要在所有浏览器中都使用此方法,则MDN上可以使用填充。
答案 2 :(得分:4)