之前在javascript中遇到了一种运算方式,是有关利用js中逻辑运算符来完成赋值操作的,今天就来弄清楚在javascript中的逻辑与以及逻辑或,跟在java中的不同,以及它的具体用法;
&&操作符(逻辑与)
(1)&&操作符左侧的值为undefined,会导致&&右侧的值被“短路”,则忽略&&右侧的值,最终的结果为undefined:
var num;
num = num && 10;
console.log("num : ",num);
输出结果:num : undefined
var num;
num = num && undefined;
console.log("num : ",num);
输出结果:num : undefined
(2)&&操作符左侧的值不为undefined,需要继续看右侧的值,不管右侧的值是否为undefined,最终的结果都是右侧的值,即,如果&&右侧的值为undefined,则最终结果为undefined,否则,最终结果就是右侧的值:
var num;
num = 3;
num = num && undefined;
console.log("num : ",num);
输出结果:num : undefined
var num;
num = 3;
num = num && 10;
console.log("num : ",num);
输出结果:num : 10
|| 操作符(逻辑或)
(1)|| 操作符左侧的值为undefined,则需要继续看 || 右侧的值,不管右侧的值是否为undefined,最终的结果都是右侧的值,即,如果 || 右侧的值为undefined,则最终结果为undefined,否则,最终结果就是右侧的值:
var num;
num = num || undefined;
console.log("num : ",num);
输出结果:num : undefined
var num;
num = num || 10;
console.log("num : ",num);
输出结果:num : 10
(2)|| 操作符左侧的值不为undefined,会导致 || 右侧的值被“短路”,则忽略 || 右侧的值,最终的结果为左侧的值:
var num;
num = 3;
num = num || 10;
console.log("num : ",num);
输出结果:num : 3
var num;
num = 3;
num = num || undefined;
console.log("num : ",num);
输出结果:num : 3
以上是javascript中的逻辑与和逻辑或的相关用法,可以利用上面的两种逻辑运算符完成变量的赋值操作。