为啥在for循环定义变量newWord只能输出最后一个单词呢?
来源:3-31 编程练习
前端SoEasy
2019-05-01 01:22:11
var str="all time is no time when it is past i am no.1";
function firToUpperCase(arr){
var toUpper = arr.split(" ");
var len=toUpper.length;
for(var i=0;i<len;i++){
var word= toUpper[i];
var newWord=" ";
newWord += word.charAt(0).toUpperCase()+word.substr(1)+" ";
console.log(newWord);
}
return newWord;
}
var toUpper= firToUpperCase(str);
document.write(toUpper);
1回答
你好,代码中定义newWord变量后面的分号状态错误,现在是中文状态下的,要换成英文状态的下的才不会报错。
如果将newWord变量定义在for循环中,那么每循环一次,newWord就会重新声明为空字符串,重新开始拼接,所以显示出来的只有最后一个。把变量声明放在for循环外面就可以:
祝学习愉快!
相似问题