Java永远的神_ 2022-01-24 14:07 采纳率: 97.7%
浏览 69
已结题

一道JS的字符串问题

var s = "laohu";
s[0] = 1;
console.log(s); //laohu
var s = "laohu";
s += 2020;
console.log(s); // laohu2020
// 上面两行为什么这么输出
  • 写回答

5条回答 默认 最新

  • Run_youngman 2022-01-24 14:16
    关注

    js的字符串是不可变的,如果想改变,就要创建一个新的字符串来覆盖。
    第一个s[0]直接赋值,是不会改变s的。
    第二个s改变,是因为生成了新的字符串,让s指向了新的字符串。
    至于会变成'laohu2020',是因为发生了类型转换,把2020转化成了'2020'。有用记得采纳哈~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 2月1日
  • 已采纳回答 1月24日
  • 创建了问题 1月24日