|| 前面為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