写在开头
当你好奇的点进来的时候,或许和我一样的感受,连中文都不知道多少个,还要说出浏览器上支持多少个,这种面试题,听了是不是觉得自己的大手巴掌想挥过去【滑稽】,但其实也没那么复杂,面试官怎么问你,或许问的就是你怎么去实现啊!这篇文章将带你解决这个问题。
后续的文章都会与前端有关,欢迎各位同路途的人一起交流学习,3月份又是努力的开头,加油!
如果想更多了解ES6,请参考之前写过的一些文章:
ES6 一文弄懂 var let const 三剑客区别 吊打面试题
引入ES6中的编码转换
在解决这个问题时,我们需要了解一下两个编码转换函数:
- charCodeAt 获取编码
- String.fromCharCode(编码) 能让编码转成字符
你能说出浏览器上到此支持多少个中文字吗?
懂一点正则的就明白了,我们可以用如下正则来判断中文
\u4e00 - \u9fa5
那怎么写我们js代码呢,参考前面的两个编码转换函数,其实没几行代码:
let name='';
for(let i = 0x4e00;i<0x9fa5;i++){
name+=String.fromCharCode(i);
}
console.log(name.length);
答案就是这么多,但可能不同浏览器支持会不一样嗷,数字会有一点点区别。
原来,就这么几行 js 代码就解决了,现在是不是该收回砂锅大的拳头了呢【滑稽】…
学如逆水行舟,不进则退