关于修改字符串中的某一个字符

关于修改字符串中的某一个字符

请问,为什么不能用以下两种方式修改某个字符

str[0] = str[0].toUppercase()

str.charAt(0)  = str.charAt(0).toUpperCase()

是因为没有权限还是其他的??

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,通俗的方法解释下:首先字符串和数组所占空间不同。字符串变量,就占一个空间,而数组所占空间个数取决与数组成员的个数。

所以所说的 var x='aaaaaaa'; ,x就占一个空间,要改变值,也是整个改变,不能单独为其中的一部分直接改变,如:

 var x='aaaaaaa';
 x=x[0].toUpperCase());  // 直接给x 重新赋值
  console.log(x); // x的值就是A 了
  x[0]=x[0].toUpperCase());  //不会改变字符串中的一部分。
  console.log(x);  / /所以 x 的值没变还是aaaaaaa
 // 如果想改变字符串中的一部分,改变完后,样从新给变量赋值。
  x= x.substring(0,1).toUpperCase()+x.substring(1);
  console.log(x);   //  结果 Aaaaaaa

希望对你有帮助,祝学习愉快,欢迎采纳。


  • 风硕依源 提问者 #1
    非常感谢!
    2017-03-26 16:51:04
小于飞飞 2017-03-25 22:33:28

你好,不是很清楚 str 是字符串,还是数组(如var str= new Array("yjl","Yjl","sTing");)。其中 第一个转换大写的方法是:toUpperCase() 其中C大写,祝学习愉快。

  • 提问者 风硕依源 #1
    str是字符串
    2017-03-25 22:45:37
  • 提问者 风硕依源 #2
    老师假设这个样子 var x='aaaaaaa'; x[0]='b'; console.log(x) 为什么x还是没有变化全是a呢?
    2017-03-26 00:36:36
  • 小于飞飞 回复 提问者 风硕依源 #3
    你好,由于有代码,请看回答的内容,祝学习愉快。
    2017-03-26 15:24:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师