13919049954

Javascript String 是不能变的吗

作者:金城在线 日期:2017/12/6 10:12:50 人气:325

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

我自己测试了一下:

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

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

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

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

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

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


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


            金城在线专注网站、软件、APP、微信公众平台、小程序、抖音、头条等开发推广,如果您有这方面的需求或者不同的观点,欢迎联系交流。

    官方微信

    本文网址:http://lz.net.cn/zixunzhongxin/550.html
    读完这篇文章后,您心情如何?
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0