不加香菜不要葱
2016-04-15 14:19
难道不应该是true么,想知道这个判断的过程
上面的说错了,是||前面为真即返回真,不进行后面的运算;而前面为假,就继续后面的运算来决定 A || B 的值。关于为什么返回50,你可以看看逻辑电路原理里的正码,反码和补码。只要返回值不为零,那么就算是真
你有没有注意左侧教学上面的提示?说的是如果||前面的是假,则由||后面的值决定。你的代码就是这种情况,前面的值为假,则不做运算,所以等式就变成了jq1=numa。所以值是50 啊
就是一个||运算嘛,不需要太纠结
可能是运算何时结束的问题,jq1=numa>numb||numa,当numa>numb不成立时,此时前面判定为false,则继续向右边运算,此时相当于把numa赋值给jq1,如果把numa>numb改成numa<numb,此时为ture,此运算式则停止运算!(可能运算方式和?::这个有点一致!)但是这样想的有个问题就是||这个逻辑符号在这里它有什么作用!(表达能力有限,而且我可能想错了,如果你解决了,圈我一下,我也有点懵逼)
逻辑值||数字 产生的了数字的值
=,>,||优先级都相同,所以从左到右按顺序执行,numa>numb是false,但是numa是true,||这是或,有一个true就是true,所以显示true的结果,不进行布尔值判断
操作符之间的优先级(高到低):
算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
如果同级的运算是按从左到右次序进行,多层括号由里向外。
=,>,||优先级都相同,所以从左到右按顺序执行,jp1就是等于numa的,所以就是50哇
JavaScript进阶篇
468190 学习 · 21891 问题
相似问题