简单的JavaScript字数统计功能

时间:2013-05-25 20:44:51

标签: javascript

我终于开始学习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

感谢您的协助

4 个答案:

答案 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也没有任何意义。只需将变量ivar关键字一起使用。

答案 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");

顺便说一句。尽量避免在循环内声明变量,但在外面

时速度更快