在javascript中,逻辑和运算操作的符号

 我来答
创作者zUcmm1em7u
2019-06-26 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:690万
展开全部
<p>好问题! 如果不是你这个提问, 我也跟大多数人一样, 认为 "书上说如果逻辑与运算符与运算符左边的表达式的计算结果为零、null、空字符串,那么整个表达式的结果就是false". 我测试了一下:</p> <p>alert(nan && 1); //输出 nan</p> <p>alert(1 && 2); //输出 2;</p> <p>alert(2 && 1); //输出 1;</p> <p>alert(false && null); //输出 false</p> <p> </p> <p>看来javascript的逻辑运算结果并没有转换为boolean类型, 而是按照优先级计算出参与运算的表达式的值, 判断逻辑运算是否已经结束, 然后把最后一个参与运算的表达式的值输出.</p> <p>例如 && 的运算, 只要有一个 等价于 false就停止运算 (输出值 等价于 false的表达式), 否则继续, 如果全部等价于 true, 输出的就是最后一个表达式了.</p> <p> </p> <p>我们对 || 运算也做个测试:</p> <p>alert(nan && 1); //输出 1</p> <p>alert(1 && 2); //输出 1;</p> <p>alert(2 && 1); //输出 2;</p> <p>alert(false && null); //输出 null</p> <p> </p> <p>完全符合!</p>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式