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

google chrome控制台中的布尔逻辑解释

闻人修明
2023-03-14

我很难弄清楚为什么下面的代码不能像预期的那样工作:

const userInput = prompt("Enter something");

if (userInput) {
    console.log("TRUTHY");
} else {
    console.log("FALSY");
}

不管我做什么,我总是变得“真实”。我理解这段代码的逻辑,甚至当从类运行源文件时,我也不会得到预期的输出。

当输入为0、null、undefined、空字符串或nan时,我应该得到“falsy”。

我做错了什么?谢谢.

共有2个答案

梁烨烨
2023-03-14

您使用的是哪个浏览器?因为当我在ms edge上运行这段代码时,当我输入Nothing时,它返回FALSY。此外,userInput默认设置为字符串类型,字符串“0”为true,因为它包含一些内容。您必须使用parseInt()将该值转换为一个整数,尽管这看起来不像您想要做的那样。考虑查找语法错误,并检查浏览器是否是最新的。

戚飞雨
2023-03-14

由于userInput是一个字符串,我们必须检查它的长度以确定它是否为空

js prettyprint-override">const userInput = prompt("Enter something");

if (userInput.length !== 0 && userInput == 0 && userInput == null && userInput == NaN) {
    console.log("TRUTHY");
} else {
    console.log("FALSY");
}
 类似资料:
  • 我正在使用熊猫中的布尔索引。 问题是为什么声明: 很好,但是 错误退出? 例子:

  • 问题内容: 我正在Pandas中使用布尔值索引。问题是为什么要声明: 工作正常而 错误退出? 例: 问题答案: 当你说 你暗中要求Python进行转换并转换为布尔值。 NumPy数组(长度大于1)和对象(例如)没有布尔值-换句话说,它们引发 当用作布尔值时。那是因为不清楚何时应该为True或False。如果某些用户的长度非零,则可能会认为它们为True,例如Python列表。其他人可能只希望其所有

  • 本文向大家介绍深入理解C语言的逻辑控制,包括了深入理解C语言的逻辑控制的使用技巧和注意事项,需要的朋友参考一下 本文对C语言的逻辑控制做一番较为深入的探讨,一般来说C语言的逻辑控制语句主要有如下的7种: 1、 goto 最强大,但一般只在特殊环境下使用。 2、 if else 3、 ?: 4、 switch case 5、 for 6、 while 7、 do while 自从dijkstra的论

  • 假设有m个不同的布尔变量,c1,c2,..cm。如何评估它们是否都是真的,或者这些要素中的任何一个都不是真的等等,一个一个地检查,可以非常高效。

  • 这是我试图实现的:我有ActioBar,我有一个名为登录在ActionBar上的菜单项。当点击这个登录菜单项时,它会在动作栏中添加一个新选项卡,并在父活动的容器中加载带有login_layout的片段。如果我点击任何其他选项卡,登录选项卡就会消失。只有再次点击登录菜单项,它才能重新出现。一旦登录成功,我想将菜单项的标题更改为注销。现在,在将登录菜单项的标题设置为注销后,如果我点击它,它不应该在动作

  • 本文向大家介绍Jmeter逻辑控制器事务控制器使用方法解析,包括了Jmeter逻辑控制器事务控制器使用方法解析的使用技巧和注意事项,需要的朋友参考一下 一、基本概念: Transaction controller:一般是指要做的或所做的事情,在关系数据库一个事务可以是一条SQL语句,一组SQL语句或整个程序、在实际的工作过程中,将完成一个业务的一系列操作称作为事务,我们来举最为典型的用户登录场景为