while循环中未分配的值

时间:2017-03-16 04:55:30

标签: javascript while-loop

所以在下面的代码中a = -1所以while循环中的语句应该是-1,但是从不输入while循环。我已经完成了,但不明白为什么while循环永远不会被执行。我确信这很令人沮丧。

  function translatePigLatin(str) {
    var newStr = str.split("");
    var vowels = ["a","e","i","o","u"];
    var i = 0;
    var a = vowels.indexOf(newStr[0]);
    while (vowels.indexOf(newStr[i]) != -1) {
      i = i++;
    }
    if(i===0){
       return str + "way";
    }
    else{
      str = str.substr(i) + str.substr(0,i) + "way";
   }
    //return str;
   }

   translatePigLatin("consonant");

1 个答案:

答案 0 :(得分:0)

在while循环中,您正在检查vowels.indexOf(newStr[i]),这意味着如果-1不是-1,那么while循环应该执行。正如你所说的那样,表达式结果为vowels.indexOf(newStr[i]) == -1,不应该执行循环,这是预期的行为。

将条件更改为

{ "class": "InteractiveRule", "selector" : "div.rasi-wrap" // CSS Selector } 如果要执行while循环,则返回的值为-1