首页 > 试题广场 >

以下哪个语句弹出来的结果是false?

[单选题]
以下哪个语句打印出来的结果是false?
  • alert(3==true)
  • alert(2=="2")
  • alert(null == undefined)
  • alert(isNaN("true"))
A、
1 == true   // 布尔值会转成number true即为1 所以结果是true
2 == true   // 布尔值会转成number true即为1 所以结果是false
3 == true   // 布尔值会转成number true即为1 所以结果是false
1 == false  // 布尔值会转成number false即为0 所以结果是false
0 == false  // 布尔值会转成number false即为0 所以结果是true
B、数字字符串2会转换成数字2在和数字2进行比较 。
== js会优先选择将字符串转成数字==

C、Javascript规范中提到, 要比较相等性之前,不能将null和undefined转换成其他任何值,并且规定null和undefined是相等的。

null和undefined都代表着无效的值。
D、

isNaN() 函数用于检查其参数是否是非数字值。

如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。




发表于 2019-10-29 17:15:19 回复(4)
D项应该为true,也即JS认为它为空值 😂
下面是isNaN()的一些例子
isNaN(123//false
isNaN(-1.23//false
isNaN(5-2//false
isNaN(0//false
isNaN('123'//false
isNaN('Hello'//true
isNaN('2005/12/12'//true
isNaN(''//false
isNaN(true//false
isNaN(undefined) //true
isNaN('NaN'//true
isNaN(NaN) //true
isNaN(0 / 0//true
发表于 2019-10-02 20:24:29 回复(3)
java的题为什么会在C++库里???
发表于 2020-08-11 00:36:48 回复(5)
A.两边会转换为number类型进行比较,true转换为number类型后,结果应该为1.3 == 1所以结果应该为false.
B.==会进行隐式转换
C.null == undefined 为true, 大家可以直接记住
D.全局函数isNaN()是判断是否不是number类型,因此结果为true

发表于 2021-07-08 14:31:41 回复(0)
数字和布尔值进行==时,布尔值会转换为数字,然后进行比较,true 转为1,false 转为0
发表于 2021-09-12 16:34:06 回复(0)
网上搜了一个解析,供参考:
编辑于 2019-08-12 15:32:26 回复(1)
boolean值会把true,false隐式转换为数字;“2”数字字符串会被转换为数字进行比较
发表于 2021-06-07 08:59:02 回复(0)
1==true 0==false
发表于 2021-03-14 00:13:56 回复(0)
比较运算符会隐式转换为数字进行比较。
发表于 2021-01-26 23:48:21 回复(0)
isNaN,默认使用的是window.isNaN(),这个方法迷惑性比较大,window.isNaN会隐式调用Number方法,例如isNaN(A) 等价于 isNaN(Number(A)) ,如果Number(A)结果是NaN,那么isNaN(Number(A))结果就为true,否则则为false。
如果要精确判断是否为NaN,建议使用ES6的Number.isNaN()
发表于 2021-06-20 22:01:01 回复(0)
3 == true 中的 true 会自动转为 number 类型,变成 3 == 1;2 == "2" 中的 "2" 会自动转为 number 类型,变成 2 == 2。
编辑于 2024-02-28 15:58:44 回复(0)
字符串在转换时,会先转为number类型;空字符串转为0,纯数字字符串转为对应数值,非纯数字字符串则会转为NaN;isNaN(...)是js提供的唯一判断变量是否为NaN的函数。返回true
发表于 2023-02-21 11:04:26 回复(0)
d选项为啥啊为啥啊为啥啊不是false
发表于 2022-09-09 11:05:19 回复(0)
js高级程序设计:isNaN(),任何不能转为数值的值,都会返回true,D选项是个字符串true,不能转成数值,所以返回true
发表于 2022-07-27 07:57:11 回复(0)
1. 只要是基本数据类型的==比较,都会转化为数值来进行比较

2. 只要是引用数据类型和基本数据类型的的比较,都会转化为字符串  然后转化为   被比较的基本数据的类型   后  再进行比较(除了引用数据类型和布尔值进行比较的时候是将二者转化为布尔值比较)
    (比如 对象和布尔值比较  )
[] == true;  //输出结果为false , 过程  [ ]转换为字符串'',然后转换为数字0,true转换为数字1,所以为false
3. 可以看看这个博主写的https://www.cnblogs.com/ljk001/archive/2017/12/22/8086084.html

编辑于 2022-05-08 21:50:36 回复(0)
数字与布尔,字符串比较转数字比较, true 转为1,false 转0
编辑于 2021-05-22 14:18:56 回复(0)
JavaScript?
发表于 2020-10-26 11:03:45 回复(0)