javascript 字符串长度

By 刘志军, 2021-10-19, 分类: javascript

JavaScript

Javascript中,字符串使用Unicode字符集的UTF-16编码, 通常用2个字节16位来表示一个字符。不过也有某些特字符是2个字节都没法装下的,这时候可能会用更多的字节来表示。字符串的长度 length属性是按照16位一个值来表示一个长度单位。所以对于超过两个字节的单字符,它的length就会大于1。

例如下面表情符号的长度length就是2

let s2 = "😔"  
console.log(s2.length) // 2

使用普通 for 循环遍历的时,按照16位值进行迭代。所以你会看到它输出了两个乱码字符

for(let i=0;i<s2.length;i++){
    console.log(s2[i])
}

输出



而使用 for ... of 语法进行遍历时, 是按字符进行迭代

for(const c of s2){

    console.log(c)
}

输出

😔

有问题可以扫描二维码和我交流

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅

猜你喜欢

2021-10-30
Javascript 解构赋值
2021-10-15
javascript条件式访问属性
2021-09-21
Javascript 中,相等操作符两等号“==”与三个等号 “===” 有什么区别?
2021-11-09
javascript对象的3个属性特征
2020-12-08
JavaScript高级程序设计读书笔记三:基本引用类型
2021-05-13
python和javascript中的round函数区别
2020-12-08
JavaScript高级程序设计读书笔记二:变量与作用域
2020-12-07
JavaScript 高级程序设计笔记:基础语法
2021-10-15
javascript 箭头函数介绍
2021-11-12
Javascript 原型与原型链