繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM