javascript - 如何理解js权威指南中:“字符串是一组由16位值组成的不可变的有序序列”这句话。
阿神
阿神 2017-04-10 15:56:18
[JavaScript讨论组]

疑惑点:

  1. 16位值

  2. 不可变

  3. 有序序列

阿神
阿神

闭关修行中......

全部回复(2)
大家讲道理
  • 有序序列 不用说了吧,字符串本身是一个数组,数组自然是有序的

  • 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

我就不详细说了 上面文章说的很清楚了~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号