带有变量/ while循环条件的javascript问题

时间:2015-09-20 20:35:34

标签: javascript loops while-loop

我运行代码并在提示时输入“yes”,但while循环不会运行。我的代码有什么问题?

chromedriver.exe

顺便说一句,这只是while循环周围的区域。其余代码位于Demo

2 个答案:

答案 0 :(得分:1)

那是因为你实际上并没有执行toLowerCase功能。现在,answer变量是toLowerCase函数,您希望它是toLowerCase函数的结果

var answer = prompt("Would you like to buy something?").toLowerCase();

while (answer === 'yes') {
  var type = prompt("What item would you like to buy?").toLowerCase();
}

您可以通过运行上述代码段或运行此工作JSFiddle example来查看它。

更新:正如评论中chriskelly所述,这将成为一个无限循环,因为在输入while后,答案将始终为'是'并且您的循环条件永远不会是假的。

答案 1 :(得分:0)

您的prompt(...).toLowerCase会在此处返回函数,而不是字符串:函数toLowerCase()

由于answer包含对函数的引用,因此将其与"yes"进行比较将始终失败。

使用圆括号调用函数。我认为调用函数是你打算在这里做的。