首页 > 试题广场 >

执行以下程序,输出结果为() var a = 4 = 6

[单选题]

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

var a = 4 >= 6 || true && 1 || false;
console.log(a);


  • true

  • false

  • 1
  • 4>=6

操作符之间的优先级(高到低):算数操作符 → 比较操作符 → 布尔(逻辑)操作符 → “=”赋值符号
逻辑操作符中,逻辑与(&&)优先级高于逻辑或(||)
所以执行顺序为
① 4 >= 6,结果是false(比较操作符返回布尔值)
② true && 1,结果是1(逻辑与的规则:第一个操作数是真值,则返回第二个操作数
原式变为 false || 1 || false(按正常顺序执行)
③ false || 1,结果是1(逻辑或的规则:第一个操作数是假值,则返回第二个操作数
④ 1 || false,结果是1(逻辑或的规则:第一个操作数是真值,则直接返回第一个操作数
发表于 2021-12-19 14:07:39 回复(10)
ECMAScript 中的 && 运算是简便运算,即如果第一个运算数决定了结果,就不再计算第二个运算数
如果第一个运算数是 false,那么无论第二个运算数的值是什么,结果都不可能等于 true
true && 1 ==> 1
1 && true ==> true
如果两个运算数是 null undefined NaN 以外的数据类型,则返回第二个对象
4 >= 6 || 1 && true || false ==> true
将题目中的 true 和 1 换下位置,在控制台执行的结果为 true
发表于 2021-12-15 18:40:35 回复(0)
var a = 1  || false   //a=1
var a = true && 1 && 2      //a=2    
javascript在做判断的时候会将数值转换为布尔型,但输出的结果是最后一次判断且未转换为布尔型的数值。

发表于 2021-12-10 09:15:39 回复(0)
&&优先级高于|| ①先算true&&1,左边为真,返回右边的值1,所以true&&1 → 1 ②4≥6 → false ③false || 1 → 1 ④1 || false → 1 ⑤所以a的值为1
发表于 2022-02-07 17:44:38 回复(0)
关系运算符>逻辑运算符(先&&后||)

true && 1 ==> 1
1 && true ==> true
发表于 2022-07-12 10:57:47 回复(0)
短路与: &&   左侧表达式为真 则 返回 右侧表达式的值。左侧为假  返回左侧值。
短路或: ||  左侧表达式 为真 返回 左侧值。左侧为假, 返回右侧值。
发表于 2023-03-10 11:22:58 回复(0)
a&&b如果a为真,则输出b的值,如果a为假,则输出a
发表于 2022-08-18 18:22:06 回复(0)
操作符之间的优先级:算数操作符>比较操作符>逻辑操作符>赋值运算符。 逻辑运算符中,逻辑与优先级高于逻辑或
发表于 2022-06-05 00:12:44 回复(0)
var a = (4 >= 6) ||( true && 1 || false);
4 >= 6 不满足,判断后面的( true && 1 || false)
 true && 1 :返回1,|| 有短路效果,不继续往下。
返回1
发表于 2022-03-28 14:17:23 回复(0)
算术>比较>逻辑与>逻辑或 同时true$$1返回1
编辑于 2022-02-24 14:21:17 回复(0)