[英]Issue in javascript with variable/while loop condition
我运行代码并在出现提示时输入“是”,但 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
,答案将始终为“是”,并且您的循环条件永远不会为假。
您的prompt(...).toLowerCase
将在此处返回一个函数,而不是字符串:函数toLowerCase()
。
由于answer
包含对函数的引用,将其与"yes"
进行比较将始终失败。
使用圆括号调用函数。 我认为调用该函数是您打算在这里执行的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.