javascript中为什么字符串不可变

javascript中,字符串的值是不可变的,这意味着一旦字符串被创建就不能被改变;原因:字符串本身是一种经过语言封装后的基础类型,底层还是一个对象,这个对象自从创建之后其内容就不能发生改变,所以字符串不变。

javascript中为什么字符串不可变

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

在 JavaScript 中,字符串 的值是 不可变的,这意味着一旦字符串被创建就不能被改变。

例如,下面的代码:

var myStr = "Bob";myStr[0] = "J";

登录后复制

是不会把变量 myStr 的值改变成 “Job” 的,因为变量 myStr 是不可变的。

立即学习“Java免费学习笔记(深入)”;

注意,这 并不 意味着 myStr 永远不能被改变,只是字符串字面量 string literal 的各个字符不能被改变。

改变 myStr 中的唯一方法是重新给它赋一个值,就像这样:

var myStr = "Bob";myStr = "Job";

登录后复制

为什么js中字符串不可变

实际上字符串本身是一种经过由语言封装后的基础类型(通过系统自带的String构造函数new出来的),底层还是一个对象,不是简单数据类型。这个对象自从创建之后其内容就不能发生改变,所以字符串不变。

+之类的操作只会生成新的字符串对象,原来的字符串对象不会变化。如果一个字符串对象已经没有被引用,就会被GC回收。

【相关推荐:javascript学习教程

以上就是javascript中为什么字符串不可变的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2937599.html

(0)
上一篇 2025年3月11日 21:14:12
下一篇 2025年3月2日 22:57:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript函数可以用var定义吗

    javascript函数可以用var定义。在javascript中,函数可以通过声明定义,也可以通过一个表达式定义,语法“var funName = new Function(参数列表,”函数结构体语句”);”。 本…

    2025年3月11日
    200
  • javascript怎么修改h4标签的内容

    修改方法:1、使用“document.getElementById(“id值”)”语句根据id属性值选中h4标签节点;2、使用“h4标签节点.innerHTML = “已修改的内容”;”语句修…

    2025年3月11日
    200
  • javascript是框架吗

    javascript不是框架。javascript是一种直译式脚本语言,一种广泛用于客户端的编程语言,可用来给HTML网页增加动态功能;而Javascript框架是指以Javascript语言为基础搭建的编程框架。 本教程操作环境:wind…

    2025年3月11日
    200
  • javascript怎么进行求幂运算

    javascript进行求幂运算的方法:1、利用Math对象的pow()方法,语法“Math.pow(n, m)”,可返回n的m次幂的值;2、利用求幂运算符“**”,语法“x ** y”,可返回x的y次幂的值。 本教程操作环境:window…

    2025年3月11日
    200
  • javascript中的等值比较是什么

    等值比较就是指比较两个表达式(或操作数)的值是否相等,比较方法有:1、使用“==”运算符,语法“a==b”;2、使用“===”运算符,语法“a===b”;3、使用“Object.is()”方法,语法“Object.is(a , b)”。 本…

    2025年3月11日
    200
  • JavaScript中数组赋值有几种方式

    数组赋值有3种方式:1、创建数组后,使用“数组名[下标]=值;”的形式一个个赋值;2、使用“var 数组名 = new Array(值列表);”语句在创建数组的同时赋值;3、使用“var 数组名 = [值列表];”语句在创建数组的同时赋值。…

    2025年3月11日 编程技术
    200
  • javascript内置函数是啥

    在javascript中,内置函数是指是浏览器内核自带的、不用任何函数库引入就可以直接使用的函数。常见的内置函数可分为五类:1、常规函数;2、数组函数;3、日期函数;4、数学函数;5、字符串函数。 本教程操作环境:windows7系统、ja…

    2025年3月11日
    200
  • JavaScript属性节点是什么

    在JavaScript中,属性节点指的是属性对象,代表着HTML元素的一个属性;属性节点的常量表示为“ATTRIBUTE_NODE”,代表的常量值为“2”,可以利用该常量来判断节点类型。 本教程操作环境:windows7系统、javascr…

    2025年3月11日
    200
  • javascript有几种键盘事件

    javascript有3种键盘事件:1、keydown事件,在键盘上按下某个键时触发;2、keypress事件,按下某个键盘键并释放时触发;3、keyup事件,释放某个键盘键时触发。 本教程操作环境:windows7系统、javascrip…

    2025年3月11日
    200
  • javascript中有数组吗

    javascript中有数组。在javascript中,数组是一组按顺序排列的数据的集合,数组中的每个成员被称为元素,每个元素的名称(键)被称为数组下标(Index);数组的长度是弹性的、可读写的。 本教程操作环境:windows7系统、j…

    2025年3月11日
    200

发表回复

登录后才能评论