我一直试图绕过这个。我遇到了这个挑战,不明白发生了什么。最重要的是,在for循环中有一个X声明 - 所以你可以在for循环括号中声明两个变量?
在var
之前没有x
- 所以这意味着它是一个全局变量正确吗?这是我迷路的地方:
str[i] = str[i][0].toUpperCase() + str[i].substr(1);
这是如何用首字母大写输出整个字符串 - 最后,str[i].substr(1)
应该是第二个字母,不是吗? JavaScript是零索引的
挑战在这里:https://www.w3resource.com/javascript-exercises/javascript-basic-exercise-50.php
function capital_letter(str)
{
str = str.split(" ");
for (var i = 0, x = str.length; i < x; i++) {
str[i] = str[i][0].toUpperCase() + str[i].substr(1);
}
return str.join(" ");
}
console.log(capital_letter("Write a JavaScript program to capitalize the first letter of each word of a given string."));
逐行分析代码:
str = str.split(“”); //此行在每个空格字符上拆分给定的字符串str,并以数组格式保存
对于循环表达式分析:
分析行 - str [i] = str [i] [0] .toUpperCase()+ str [i] .substr(1);
最后,整个单词再次保存在同一索引处
return str.join(“”); //在将其加入大写句子后返回then str数组