当前位置: 首页 > 知识库问答 >
问题:

JS的意外提示行为[duplicate]

阚英睿
2023-03-14

尝试通过Javascript创建一个black jack模拟器,作为提高JS accumen的练习(几周前开始编写代码)。

为了使它变得简单和独立(在JS中,没有html),我尝试使用提示符来模拟操作和响应。

function action(){
    var response = prompt("What would you like to do \nInput 1 for Draw Card \nInput 2 for Play hand");
    if(response !== 1 || response !== 2){
        action();
    }
}

所以,我的问题是,为什么当我输入1或2时,这会继续重复。如果输入1或2,我假设不会发生任何事情。我想这可能是因为提示将变量保存为字符串,因此我将1和2更改为“1”和“2”,但这并没有解决问题。我肯定我遗漏了一些非常简单的东西。任何帮助都会很好。

共有2个答案

鲁华茂
2023-03-14

prompt函数的结果始终是一个字符串,字符串和数字类型的严格比较当然会产生错误:

"1" === 1 // false
邵和硕
2023-03-14

你的逻辑是错误的<代码>“1”匹配是因为它不同于“2”“2”匹配是因为它不同于“1”,其他匹配是因为它们不同于“1”“2”

相反,您应该使用AND运算符:

response !== "1" && response !== "2"
 类似资料:
  • 问题内容: 前一阵子,在使用Class.getMethod和自动装箱时,我遇到了类似的问题,因此在自己的查找算法中实现它很有意义。但是,真正让我感到困惑的是,以下两种方法也不起作用: String.class实现了Serializable接口,我确实希望它包含在lookup方法中。 我也必须在自己的查找算法中考虑这一点吗? 编辑 :我确实读过Javadoc, 所以让我强调一下问题的第二部分 :如果

  • 我是Python的新手,我对Python处理空对象的方式有点困惑。 考虑这段代码; 我得到了这段代码的以下输出。 我假设由{}初始化的对象是有效对象。为什么Python不那样对待它?为什么要得到diff If条件的diff输出? 在C++中,当我说 如果obj不是NULL,它将进入IF块(不管它是垃圾值还是其他) 但当我翻译成Python时也是一样的。 为什么?我读到Python将{}计算为fal

  • 请注意,NULL字节始终存在,您可以使用检查它。 我知道我可以使用获得类似的结果。我不是在问其他选择,我只是想了解格式字符(如doc所说的“NUL填充字符串”)背后的逻辑。 “NULL”值在哪里涉及到所有这些?

  • 我有以下输入字符串: 这里有各种各样的错误:标题前面有“。”应该是ID后面的分隔符。作者姓名的最后两个字符出现在日期字段中,实际日期丢失。 我怎样才能纠正这些问题?

  • 这就是我如何注册我的应用程序来接收位置更新: 我悬而未决的意图几乎在所要求的时间间隔内被后台调用... 到目前为止还好。 问题:当WIFI被禁用/没有连接到任何网络,或者当没有3G/4G网络数据启用-融合位置提供商没有提供新的位置更新!! 我的位置访问设置打开,并检查GPS卫星和WI-FI和移动网络位置。 更大的问题是:有时在这种情况下,我确实通过挂起的意图接收位置更新回调,但它知道最后的位置(即

  • 问题内容: 我有以下代码: 我希望它返回“ 05/20/2012”,但它返回“ 04/20/2012” 这对我来说毫无意义-有人可以帮助我了解发生了什么以及如何获得正确的响应吗? 感谢您的关注! 问题答案: 从零开始。如和 尝试