JS中&&和||的奇怪用法

JS中&&和||的奇怪用法

  最近正在学 JS,找了点练习来做,然后看到如下的代码:

1
2
3
4
5
6
7
8
9
for (var i = 0; i < oBtn.length; i++)
{
oBtn[i].index = i;
oBtn[i].onclick = function ()
{
this.index == oBtn.length - 1 && (oDiv.style.cssText = "");
changeStyle(oDiv, oAtt[this.index], oVal[this.index]);
}
}

  然后我上网搜了一下明白了 var c=a||b;或var c=a&&b;这种情况时
a && b :如果执行 a 后返回 true,则执行 b 并返回 b 的值;如果执行 a 后返回 false,则整个表达式返回 a 的值,b 不执行
a || b :如果执行 a 后返回 true,则整个表达式返回 a 的值,b 不执行;如果执行 a 后返回 false,则执行 b 并返回 b 的值

  所以这句就好理解了this.index == oBtn.length - 1 && (oDiv.style.cssText = “”);
  这可以算是一种炫技代码⊙﹏⊙,相当于:

1
2
3
if(this.index == oBtn.length - 1){
oDiv.style.cssText = "";
}

文章目录
  1. 1. JS中&&和||的奇怪用法
,