Me_blackDog 2016-09-28 04:18 采纳率: 75%
浏览 1102
已采纳

javaScript中的怎么去理解字符串?

课堂上老师说javaScript中的字符串一旦创建不可改变?要想改变,只能用另一个新字符串替换!

//第一次创建的变量 var str="8"; var str1=1; var str3=str+str1; console.log(str3); //81 //同样的变量改了一下内容 str="你好"; str1=3; str3=str+str1; console.log(str3); //你好3

这不是改变了变量里面的字符串内容了吗?
我有点蒙~~这不也是改变一个变量里面字符串的内容吗?为什么说不可改变?
求指点!

  • 写回答

8条回答 默认 最新

  • threenewbee 2016-09-28 04:18
    关注

    几乎所有的语言的字符串都是如此设计,主要是考虑性能问题。字符串本质上是字符构成的数组,需要在内存中连续存储,当你追加内容的时候不能保证原始的内存有足够的内存存储超长的部分,所以字符串修改最简单直接的方法是重新开辟连续的内存,然后写入新的字符串。

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

报告相同问题?

悬赏问题

  • ¥20 qt中connect两个signal
  • ¥20 pix2pixHD运行测试命令时出现数据类型错误无法反向传播的问题
  • ¥15 python处理Excel符合条件的行自动填写数据分类
  • ¥15 汇编hook举例并讲解(通俗易懂,学习用)
  • ¥20 用c++语言模拟键盘电子琴设计
  • ¥15 STM32cubemx生成keil工程,有问题与正常的情况不同,求解!
  • ¥15 如何自动点击银行app的安全键盘,实现密码自动输入
  • ¥15 关于四边形重叠的问题
  • ¥15 用verilog语言设计一个简易的八音符电子琴,可通过按键输入来控制音响。演奏时可以选择是手演奏(由键盘输入)或自动演奏已存入的乐曲。能够自动演奏多首乐曲,且每首乐曲可重复演奏
  • ¥15 sap gui脚本每次到导出Excel的时候就停住不动。不会另存为。