js中的字符串对象-1(初学)

一、基本包装类型

即把简单的数据类型包装成为复杂的数据类型,这样,基本数据类型就有了属性和方法。

str是一个简单的数据类型,按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但是上面的代码却可以执行
即这是因为js会把基本数据类型包装为复杂数据类型,其执行效果如下:
①> 生成临时变量,把简单的数据类型包装为复杂数据类型
  var temp = new String('cccc');
②> 赋值给声明的字符变量
str = temp;
③>销毁临时变量
temp = null;

二、字符串的不可变
指的是里面的值不可变,虽然看上去改变了内容,但其实只是地址变了(内存中新开辟了一个内存空间) ← 这个特点就是字符串的不可变

 

 当重新给 str 赋值的时候,常量 ccc 不会被修改,依然在内存中↓

 

 所以,由于字符串的不可变,在大量拼接的字符串的时候会有效率问题,所以不要大量的拼接字符串。

三、根据字符返回位置

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值