那你知道为什么
a=3 && 4 || 5;
a=3 && (4|| 5);
的结果都是4,而不是别的值呢?
a=3 && 4 || 5;
a=3 && (4|| 5);
的结果都是4,而不是别的值呢?
解决方案 »
- 反正弦 精度
- textarea的输入光标消失 但仍然能输入 有人碰到过么
- 自定义右键菜单问题
- 网上购物
- 多个相同ID的DIV,怎么进行操作?
- 关键字的问题(急!急!急!)
- Object,Object.prototype, Function,Function.prototyp谁是老大?
- 有没有可能用javascript把网页的所有媒体关掉或停掉?
- 请问:网站中如何实现选择文件夹的对话框,类似选择文件的对话框的那样,非常感谢!
- javascript可以打开一个窗口,但是我不想显示这个窗口,应该怎么办?
- ext4.2 导入工程,哪些文件(夹)是必须保留的?求大神帮忙,3q!
- swfobject 支持播放列表吗?
表达式A && 表达式B 的工作原理是:如果A的值为false(或A的值可以被当做为false)就返回A的值并且不执行表达式B,否则执行表达式B并且返回B的值
表达式A || 表达式B 的工作原理是:如果A的值为true(或A的值可以被当做为true)就返回A的值并且不执行表达式B,否则执行表达式B并且返回B的值javascript中0 "" null undefined会被当做为false,其实的值都可以被当做为true
所以3 4 5都被当做为true这下知道为什么的结果都是4了吧
a=3 && 4 || 5;
我是说出现这么一个表达式的时候,是先3 && 4的结果得出来以后再与5进行逻辑或运算,
还是4和5先逻辑或,然后结果和3逻辑与运算优先级得问题
当然是先3 && 4的结果得出来以后再与5进行逻辑或运算,
alert(3 || 4 && 5); //3
alert((3 || 4) && 5); //5
var a=0 && (4|| 5) ; // 0