我运行代码并在提示时输入"yes",但while循环不会运行。我的代码有什么问题?
var answer = prompt("Would you like to buy something?").toLowerCase
while (answer === "yes") {
var type = prompt("What item would you like to buy?").toLowerCase;
}
顺便说一下,这只是while循环周围的区域。代码的其余部分位于https://www.codecademy.com/alangdorf/codebits/uAlblD。
这是因为您实际上并没有执行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示例来看到它的工作。
更新:正如chriskelly在评论中所指出的,这将成为一个无限循环,因为在输入while
之后,答案将始终为"yes",并且循环条件永远不会为false。
您的prompt(...).toLowerCase
将在此处返回函数,而不是字符串:函数toLowerCase()
。
由于answer
包含对某个函数的引用,将其与"yes"
进行比较总是会失败。
使用圆括号来调用函数。我认为调用函数就是您在这里要做的。