var s = "laohu";
s[0] = 1;
console.log(s); //laohu
var s = "laohu";
s += 2020;
console.log(s); // laohu2020
// 上面两行为什么这么输出
一道JS的字符串问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
Run_youngman 2022-01-24 14:16关注js的字符串是不可变的,如果想改变,就要创建一个新的字符串来覆盖。
第一个s[0]直接赋值,是不会改变s的。
第二个s改变,是因为生成了新的字符串,让s指向了新的字符串。
至于会变成'laohu2020',是因为发生了类型转换,把2020转化成了'2020'。有用记得采纳哈~本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用