扫码关注官方订阅号
疑惑点:
16位值
不可变
有序序列
闭关修行中......
有序序列 不用说了吧,字符串本身是一个数组,数组自然是有序的
16 位是指:字符数组每个元素占的空间为 16 bits,即 2 bytes,这是因为 js 采用 unicode 编码,每个字符需要两个字节
不可变是指:字符串对象一旦创建出来,便不能被更改。这可能有些难理解,但事实确实如此。你可能会认为 s+='1' 只是在 s 后面增加一个元素 1 而已,但事实是:
s+='1'
s
1
先将 s 拷贝一份,记为 temp
在 temp 末尾加上'1'
将 s 变量指向 temp,并删去原来的s
这一特性,可以从字符串对象的许多方法中看出来,如 replace,并不是在原字符串对象上修改,而是会返回一个新的字符串
http://book.2cto.com/201312/38155.html
我就不详细说了 上面文章说的很清楚了~
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
有序序列 不用说了吧,字符串本身是一个数组,数组自然是有序的
16 位是指:字符数组每个元素占的空间为 16 bits,即 2 bytes,这是因为 js 采用 unicode 编码,每个字符需要两个字节
不可变是指:字符串对象一旦创建出来,便不能被更改。这可能有些难理解,但事实确实如此。你可能会认为
s+='1'只是在s后面增加一个元素1而已,但事实是:先将 s 拷贝一份,记为 temp
在 temp 末尾加上'1'
将 s 变量指向 temp,并删去原来的s
这一特性,可以从字符串对象的许多方法中看出来,如 replace,并不是在原字符串对象上修改,而是会返回一个新的字符串
http://book.2cto.com/201312/38155.html
我就不详细说了 上面文章说的很清楚了~