|| 前面为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); // 0console.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); // 3console.log(0 && 1+1); // 0console.log(1 || 2 && 3-1); // 1
时间: 2024-12-26 18:04:30