首页 > 试题广场 >

下列逻辑表达式的结果为false的是()

[单选题]

下列逻辑表达式的结果为false的是()


  • NaN == NaN

  • null == undefined

  • '' == 0

  • true == 1

JavaScript的规定,NaN表示的是非数字, 但是这个非数字也是不同的,因此,NaN 不等于 NaN,并且两个NaN永远不可能相等。
发表于 2021-12-09 18:54:59 回复(3)
Object.is('foo', 'foo');     // true
Object.is(window, window);   // true

Object.is('foo', 'bar');     // false
Object.is([], []);           // false

var foo = { a: 1 };
var bar = { a: 1 };
Object.is(foo, foo);         // true
Object.is(foo, bar);         // false

Object.is(null, null);       // true

// 特例
Object.is(0, -0);            // false
Object.is(0, +0);            // true
Object.is(-0, -0);           // true
Object.is(NaN, 0/0);         // true


发表于 2021-12-13 18:54:19 回复(0)
1.NaN类型不管与任何数据类型比较包括自己结果均为false。(等于或全等于均为false)
2.当null与undefined比较时,当比较符为等于时结果为true(可以理解为在不考虑数据类型的前提下null和undefined隐式转化为false,false==false结果就为true);但是比较符为全等于时,考虑到了数据类型null和undefined都不是一个东西,所以返回false
3.String类型与Number比较时,先将String类型转化为Number类型,比如空字符串会转化为0,非空字符串会转化为1(但是这个比较仅限于比较符为等于的时候,若为全等于时String类型和Number类型不是一个东西,想都不用想直接返回false)
4.Boolean类型与其他类型比较时,先将其转变为Number类型,比如true转化为1,false转化为0(括号内容类比同上)
发表于 2022-08-24 09:19:53 回复(0)
js is weird
发表于 2023-02-22 21:30:33 回复(0)
NaN 不能用相等判断,只能用 IsNaN() 或 Number.isNaN() 判断
发表于 2022-10-07 00:09:45 回复(0)
如果数组中有NaN?得用哪个方法来判断当前数组是否有NaN呢。评论区走起
发表于 2022-05-08 00:28:03 回复(0)