理解运算符 || 和 && 及方法

|| 前面为true的话直接返回前面的值,前面为false的话返回后面的值。如下:

console.log(0 || 1);  // 1
console.log(1 || 0);  // 1
console.log(1 || 5);  // 1
console.log(5 || 1);  // 5

复杂的如下:

console.log(0 || 1 || 2);  // 1
console.log(1 || 0 || 3);  // 1

方法:对于全都是 || 运算符,从左到右,返回第一个为true的值。如果全都是false,返回最后一个的值。

 

&& 前面为true的话返回后面的值,前面为flase就返回前面的值。如下:

console.log(0 && 1);  // 0
console.log(1 && 0);  // 0
console.log(1 && 5);  // 5

复杂的如下:

console.log(1 && 2 && 3);  // 3
console.log(0 && 1 && 2);  // 0
console.log(1 && 0 && 2);  // 0

方法:对于全都是 && 运算符,从左到右,返回第一个为false的值,如果全都是true,返回最后一个的值。

 

对于混合的写法,如下:

// 运算优先级: &&优先级为11,||优先级为12,&& > ||
console.log(3 && 0 || 2);     // 2
console.log(3 || 0 && 2);     // 3
console.log(0 || 2 && 3);     // 3
console.log(1+1 && 3);        // 3      先算加减乘除
console.log(0 && 1+1);        // 0
console.log(1 || 2 && 3-1);     // 1

 

posted @ 2016-08-08 19:16  yu.l  阅读(2846)  评论(0编辑  收藏  举报