function LetterCapitalize(str) {
return str.charAt(0).toUpperCase()+ str.slice(1);
var spaceIndex=str.indexOf(' ');
var first=str.substring(0,spaceIndex);
var second=str.substring(spaceIndex+1,str.length)
return LetterCapitalize(first)+" " + LetterCapitalize(second)
}
console.log(LetterCapitalize("hello world"))
不确定我做错了什么,但只有你好的H是大写的
答案 0 :(得分:1)
当你的函数被调用时,它首先要做的是:
return str.charAt(0).toUpperCase()+ str.slice(1);
这将返回转换为大写的字符串的第一个字符,以及从索引1开始的字符串的其余部分(原样)。
由于函数从那里返回,函数中没有其他任何内容正在执行。
如下:
function LetterCapitalize(str) {
var words = str.split(' '); // create an array of each word
for(var i = 0; i < words.length; i++) // Loop through each word
words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1); // capitalize first character of each word
return words.join(' '); // join the array back into a string
}
此外,如果您只是为了显示目的而尝试执行此操作,则可以使用CSS:text-transform: capitalize;
答案 1 :(得分:1)
查看函数中的第一行代码?
退出函数(返回),并且不执行该函数中的其他任何代码。就javascript解释器而言,您的代码可能也是:
function LetterCapitalize(str) {
return str.charAt(0).toUpperCase()+ str.slice(1);
}
因此:Hello world
答案 2 :(得分:0)
此功能:
function LetterCapitalize(str) {
return str.charAt(0).toUpperCase()+ str.slice(1);
var spaceIndex=str.indexOf(' ');
var first=str.substring(0,spaceIndex);
var second=str.substring(spaceIndex+1,str.length)
return LetterCapitalize(first)+" " + LetterCapitalize(second)
}
在逻辑上等同于此函数:
function LetterCapitalize(str) {
return str.charAt(0).toUpperCase()+ str.slice(1);
}
只要您从函数return
开始,该函数就不会发生任何其他事情。你已经返回了一个值,所以它已经完成了。在这种情况下,您返回的值是单个大写字符加上字符串的其余部分。您在字符串中查找第二个单词的进一步尝试永远不会被执行。
答案 3 :(得分:0)
如果你可以使用CSS很简单:
<style type="text/css">
h1.uppercase { text-transform: capitalize}
</style>
<h1 class="uppercase">Uppercase or lowercase?</h1>
Output :** Uppercase Or Lowercase **
这就是你要找的东西吗?
答案 4 :(得分:0)
这是对Mike Christensen上面非常干净简洁的代码的一个简单调整,Mike Christensen写了这个答案(这在几乎所有方面与我的相同):
函数LetterCapitalize(str){
var words = str.split(' '); // create an array of each word
for(var i = 0; i < words.length; i++) // Loop through each word
words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1); // capitalize first character of each word
return words.join(' '); // join the array back into a string
}
编辑:words [i] .charAt(0).toUpperCase()#=&gt;字[I] [0] .toUpperCase()
我只包含这个版本,以帮助其他人了解调用所需角色的不同方法,并可能有助于进一步了解代码中究竟发生了什么。我知道这对我很有帮助。