关于赋值 改变字符串 必须重新赋值 简单的通过索引查找并不能改变字符串...

 

为什么这里一定要赋值啊 不赋值到arr2 直接运算为什么不行。。 我是不是自己把自己搞魔怔了 还是这本身就不是问题?

用这个直接代替 不用写个arr2 就运行不了很奇怪 , 学了这么长时间我发现其他的 能代替都能通过的啊 赋值能让自己看的清楚点, 有时候确实是需要 但是这里 为什么确实需要。。。 把自己绕煞笔了

 

 

 

 

你这代码
逻辑有点乱啊
弄复杂了
function titleCase(str) {

// 请把你的代码写在这里
var arr = str.split(' ');
arr.forEach(function(item,index){
arr[index] = item[0].toUpperCase() + item.slice(1).toLowerCase();
});
return arr.join(' ');
}
你已经用str.split()把参数拆分成数组了,没必要再把每个单词再拆分成数组,再改首字母的
直接arr[i][0]就可以表示每个单词的首字母了
至于为什么必须赋值,是因为字符串是基本数据类型,不能改的
比如str = “abc”;

Rachel0637 @Rachel0637 12:25
str[0] = “c”;
这时候str不会变成“cbc”
因为字符串不能被改变,只能重新赋值
也就是说,想要达到目的,只能这样写: str = “cbc"
在你的代码里,也就是把内容赋值给arr2
顺便说一下,你的arr2直接跳出来的,没用var,这种写法不太好,虽然也能正常声明变量,但是容易造成内存泄露
最好每次声明新变量都用var

 

 

 

 

之前有一题特别声明了这一点,学字符串的时候。不深刻 这次记住了。    var声明的作用    还有全局声明  都要熟悉。

 

转载于:https://www.cnblogs.com/zwl16/p/8099911.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值