Javascript 你能像String.fromCharCode一样使用String.fromCodePoint吗
我仍在学习JavaScript并练习从键盘获取输入。我刚刚学习了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
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草案的一部分)返回这样的一对,从而充分表示这些较高值的字符