栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JS 字符串底层原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JS 字符串底层原理

今天做leet时候写了段代码

let str = 'abcd'

如果想要知道str的第N位,只需要

  console.log(str[0])

但是想要修改第N位的时候,下面的代码就出错了

str[0] = 'K'

这个为什么不行呢,查了阮一峰的JS教程

字符串可以被视为字符数组,因此可以使用数组的方括号运算符,用来返回某个位置的字符(位置编号从0开始)。如果方括号中的数字超过字符串的长度,或者方括号中根本不是数字,则返回undefined。但是,字符串与数组的相似性仅此而已。实际上,无法改变字符串之中的单个字符。

这里有了为什么不能改变字符串之中的单个字符的疑问,先按下不表。
回到代码我应该怎么写呢

str.substring(0,i) + 'K' + str.substring(Number(i)+1)

再回到疑问,为什么不能修改字符串的值,后来查到引擎就是这么设计的,包括JAVA等其他语言。
那新的疑问就来了为什么要这么设计,这部分内容比较多,主要在效率优化和安全性,

https://blog.csdn.net/weixin_43139183/article/details/121119389

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1010566.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号