我终于开始学习JavaScript了,由于某些原因我无法使用这个简单的功能。请告诉我我做错了什么。
function countWords(str) {
/*Complete the function body below to count
the number of words in str. Assume str has at
least one word, e.g. it is not empty. Do so by
counting the number of spaces and adding 1
to the result*/
var count = 0;
for (int 0 = 1; i <= str.length; i++) {
if (str.charAt(i) == " ") {
count ++;
}
}
return count + 1;
}
console.log(countWords("I am a short sentence"));
我收到错误SyntaxError: missing ; after for-loop initializer
感谢您的协助
答案 0 :(得分:5)
Javascript中没有int
个关键字,请使用var
来声明变量。此外,0
不能是变量,我确定您的意思是声明变量i
。此外,对于字符串中的字符,您应该从0循环到长度为1:
for (var i = 0; i < str.length; i++) {
答案 1 :(得分:4)
我想你想写这个
for (var i = 0; i <= str.length; i++)
而不是
for (int 0 = 1; i <= str.length; i++)
所以问题是javascript中没有int
这样的问题,而且你使用的0=1
也没有任何意义。只需将变量i
与var
关键字一起使用。
答案 2 :(得分:2)
此
for (int 0 = 1; i <= str.length; i++)
应该是
for (var i = 1; i <= str.length; i++)
javascript中没有关键字int
答案 3 :(得分:2)
这就是你想要的:
function countWords(str) {
var count = 0,
i,
foo = str.length;
for (i = 0; i <= foo;i++;) {
if (str.charAt(i) == " ") {
count ++;
}
}
return console.log(count + 1);
}
countWords("I am a short sentence");
顺便说一句。尽量避免在循环内声明变量,但在外面
时速度更快