首页 > 试题广场 >

执行以下程序,输出结果为()

[单选题]
执行以下程序,输出结果为()
let flag1 = null || undefined;
let flag2 = null && undefined;
if (flag1 === true) console.log('flag1');
if (flag2 === false) console.log('flag2');


  • flag1
  • flag2
  • flag1、flag2
  • 什么都不会输出
对于 || 来说,如果条件判断结果为 true 就返回第一个操作数的值,如果为 false 就返回第二个操作数的值。

&& 则相反,如果条件判断结果为 true 就返回第二个操作数的值,如果为 false 就返回第一个操作数的值。

|| 和 && 返回它们其中一个操作数的值,而非条件判断的结果。

所以flag1是undefined,flag2是null。

发表于 2021-12-15 15:14:11 回复(3)
这里的运算符返回的值是表达是a和b或结果,不是boolean类型,严格等于不做类型转换。 null&&1 返回1 null&&'1’返回字符串1
发表于 2021-12-12 13:44:54 回复(2)
||查找第一个真值,用第一个真值代替整个式子,如果找不到真值,用最后一值代替整个式子 &&查找假值
发表于 2022-01-26 15:31:09 回复(0)
||返回第一个为true的值,找不到就反回最后一个假值false,&&返回第一个为false的,找不到就返回最后一个真值true
发表于 2022-10-03 22:45:51 回复(0)
考察的是与或非运算符,∥ 是 遇到真就返回,如果第一个表达式的值为真,就直接返回第一个表达式,如果是两个,且第一个的表达式的值为false,则直接返回第二个的值。flag1为undefined,flag2是与运算符,遇到假就返回,所以flag2的值为null,下面的if语句,undefined显然不等于true,结果不输出。第二个if语句,null显示不等于false,显然不成立,结果不输出。所以最后什么也不输出。 补充:undefined == null 为true undefined === null 为false
发表于 2022-11-07 23:20:11 回复(0)
||运算符是a||b 如果a为真的,就返回第一个数a,否则返回第二个数b a&&b 如果第一个为TRUE,就返回第二个数,
发表于 2022-06-14 00:34:31 回复(0)
flag1返回undefined,flag2返回0,所以两个if语句都不成立,不输出任和东西
发表于 2022-02-15 10:55:50 回复(0)