我有这个疑问,这段代码应该把单词中的第一个字符变成大写字母
function ucFirst(str) {
var newStr = str.charAt(0).toUpperCase();
for (var i = 1; i < str.length; i++) {
newStr += str.charAt(i);
}
return newStr
}
alert(ucFirst("john"));
这将在控制台中打印出“John”以及未定义的内容。
现在我使用数组值尝试了完全相同的事情
function ucFirst(str) {
var newStr = str.str[0].toUpperCase();
for (var i = 1; i < str.length; i++) {
newStr += str.str[i];
}
return newStr;
}
alert(ucFirst("john"));
我在控制台中收到此错误"Cannot read property '0' of undefined"
为什么会这样?