|| 前面为true的话直接返回前面的值,前面为false的话返回后面的值。如下:
console.log(0 || 1); //
console.log(1 || 0); //
console.log(1 || 5); //
console.log(5 || 1); //
复杂的如下:
console.log(0 || 1 || 2); //
console.log(1 || 0 || 3); //
方法:对于全都是 || 运算符,从左到右,返回第一个为true的值。如果全都是false,返回最后一个的值。
&& 前面为true的话返回后面的值,前面为flase就返回前面的值。如下:
console.log(0 && 1); //
console.log(1 && 0); //
console.log(1 && 5); //
复杂的如下:
console.log(1 && 2 && 3); //
console.log(0 && 1 && 2); //
console.log(1 && 0 && 2); //
方法:对于全都是 && 运算符,从左到右,返回第一个为false的值,如果全都是true,返回最后一个的值。
对于混合的写法,如下:
// 运算优先级: &&优先级为11,||优先级为12,&& > ||
console.log(3 && 0 || 2); //
console.log(3 || 0 && 2); //
console.log(0 || 2 && 3); //
console.log(1+1 && 3); // 3 先算加减乘除
console.log(0 && 1+1); //
console.log(1 || 2 && 3-1); //