gpt4 book ai didi

javascript - 无法让两个 if else 语句起作用?检查字符串和数字

转载 作者:行者123 更新时间:2023-11-28 19:05:19 25 4
gpt4 key购买 nike

我想运行这两个 if else 语句,但我无法让它们工作?请帮忙。

  1. 如果输入是刺痛,则返回到开头并再次询问。

    function table(){
    var num = prompt("please enter any number");
    if (num <= 0 && typeof num != 'string') {
    alert("invalid number or Zero") ;
    table();
    } else {
    alert("ok") ;
    }
    }

    table();
  2. 如果不正确,请返回开头并再次询问。

    function text(){
    var txt = prompt("please enter rock or scissors or paper");
    if (txt != "rock" || "scissors" || "paper") {
    alert("failed") ;
    table();
    } else {
    alert("ok") ;
    }
    }

    text();

谢谢。

最佳答案

提示返回的结果typeof始终“string”(用户单击“确定”或按 Enter 键)或 “object”(用户单击“取消”或按 Esc 键),因为 typeof null“object”prompt 返回键入的内容,或取消时返回 null。这就是第一个 if 的问题所在。

如果不接受空白,则简单检查是 !:

var num = prompt(...);
if (!num) {
// User clicked Cancel or didn't type anything
}

...然后使用 +numnum 转换为数字,或者使用 parseInt(num, 10) 执行此操作,如果您希望确保基数为 10 并忽略数字后面的任何文本(parseInt("42foo", 10)42 而不是 NaN+"42foo"NaN)。

第二个 if 的问题是您必须重复正在测试的内容并使用 && 而不是 ||:

if (txt != "rock" && txt != "scissors" && txt != "paper"){

“如果 txt 不是石头,txt 不是剪刀,那么……”

开关可能会有用:

switch (txt) {
case "rock":
case "scissors":
case "paper":
alert("ok") ;
break;
default:
alert("failed") ;
table();
break;
}

关于javascript - 无法让两个 if else 语句起作用?检查字符串和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31782802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com