服务与支持 |咨询热线 0931-8733767
  • 金城在线
  • 公司简介
  • 发展历程
  • 企业文化
  • 售后服务
  • 工作机会
  • 联系我们

Javascript String 是不能变的吗

来源:发布时间:2017-12-6 10:12:50

我在很多书上也看到这个问题,也一直没有深究。直到这个问题,我觉得提的蛮好的。

我自己测试了一下:

1、var str1=str2=“can‘t change”;

2、在控制台下,看了一下str的所有方法,并用str1测试了一些方法。然后看str2的值有没有变化,即可以简单判断所定义的字符串有没有变化。(str1和str2都可以看成是指向这个字符串地址的变量,如果str1的一些操作能改变这个字符串,那str2对应的值也会变化。)

3、确实发现了一些问题:如果方法设计到修改到字符串,会有两种情况:

要么是该方法修改了字符串,不过是生成了一个新的字符串传返回,并没有修改原来的字符串。

要么是str1确实变化了,不过是指向了一个新的字符串或者是对象等,已经不会指向原来的字符串了。此时str2值仍然没有变化,说明这个字符串仍然没有变。

4、我又想到string其实也是对象的一种,我就给str1赋予了一些对象方法,但是结果测试此字符串仍然没有变化。这点我也很困惑。


所以,我的初步简单测试,string的值一旦存在了,确实不能改变了。还请大牛讲一下,内部的原理和实现方法。


相关文章
  • 预约专家

    为您提供一对一解决方案
    立即预约
  • 售前咨询

    周一至周五9:00——17:30
    立即咨询
  • 联系方式

    13919049954

    全国7×24小时热线服务
  • 免费报价

    专属专业顾问1对1报价
    免费报价