看见有人用"&&"符号进行条件判断,谁能解释下原理? var i=10;i>0 && (i=0);alert(i) //i值为0上面是我今天看某个代码时遇到的,当然做了简化,这里&&怎么实现判断效果的,什么原理呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var i = -10; i > 0 && (i = 0); alert(i) //i值为-10&&运算符当第一个条件为真时,才会判断第二个条件,当第一个条件为false时,根本不做后面的判断,所以 i > 0 && (i = 0);这句相当于 if (i>0){ i=0;} 逻辑运算的短路i>0 && (i=0);这里有两个逻辑判断,代码运行时先判断第一个 i>0 为true但不表示整个表达式为true ,所以继续运行判断 (i=0)如果i的初始值为0的话,i>0 为false,因为是 && 判断,所以只要第一个为false,整个表达式必然为false。所以就没有必要进行第二个判断,为了节省效率。所以这时(i=0)就不会被运行 其实就是这样:var i = 1;i && alert(i)当&&左边的值为true时,右边式子才会运行 (&&结合性是从左到右的)反之不运行 代码还是写规范点好,毕竟是写给人看的var i = 10;if(i > 0){ i = 0;}alert(i) 有参JS跟无参 A页面打开B页面问题,求助! jquery用find("input:type='text'")获取不了文本框。 小问题,removeChild的 请大侠指教,帮忙! 问个javascript的简单问题 Javascript 字符串替换 很简单的js,在线等,马上给分 怎样保存下拉列表的值~~,还一个问题另加100分,绝不食言~~~~!~~~~ 关于页面定向问题(大家帮帮忙。) js 中一个函数的用法 为什么还能提交
i > 0 && (i = 0);
alert(i) //i值为-10&&运算符当第一个条件为真时,才会判断第二个条件,当第一个条件为false时,根本不做后面的判断,
所以 i > 0 && (i = 0);
这句相当于
if (i>0)
{
i=0;
}
i>0 && (i=0);
这里有两个逻辑判断,代码运行时先判断第一个 i>0 为true
但不表示整个表达式为true ,所以继续运行判断 (i=0)如果i的初始值为0的话,i>0 为false,因为是 && 判断,所以只要第一个为false,整个表达式必然为false。所以就没有必要进行第二个判断,为了节省效率。所以这时(i=0)就不会被运行
var i = 1;
i && alert(i)当&&左边的值为true时,右边式子才会运行 (&&结合性是从左到右的)反之不运行
var i = 10;
if(i > 0){
i = 0;
}
alert(i)