JS中的“&&”与“&”和“||”“|”有什么区别?
在javascript中的 && 和 || 是逻辑运算符;& 和 | 是位运算符。
四个运算符主要区别是 运算方法 不一样:
①javascript中的位运算符:’&’
运算方法:两个数值的个位分别相与,全都为1值为1,只要有一个为0就位0.
eg: 10 & 2 结果为 2
②javascript中的位运算符:’|’
运算方法:两个位只要有一个为1,结果就为1,否则就为0
eg: 10 | 2 结果为 10 10转为二进制为 1010 2转为二进制为10 1010 & 10 为 1010 即10
③javascript中的位运算符:’&&’
运算方法:
只要 ‘&&’ 前面的是false,无论 ‘&&’ 后面是true还是false,结果都将返回 ‘&&’ 前面的值
只要 ‘&&’ 前面的是true,无论 ‘&&’ 后面是true还是false,结果都将返回 ‘&&’ 后面的值
eg: 10 && 2 结果为 2
④javascript中的位运算符:’||’
运算方法:
只要 ‘||’ 前面的是false,无论 ‘||’ 后面是true还是false,结果都将返回 ‘||’ 后面的值
只要 ‘||’ 前面的是true,无论 ‘||’ 后面是true还是false,结果都将返回 ‘||’ 前面的值
eg: 3 || 1 为3, 3 || 0 为3, 0 || 3 为3
扩展资料:
在javascript逻辑运算符中
0 , " ", null , false , undefined , NaN都会判断为false
eg: null && 1 结果为 null
javascript中的逻辑运算符除了 && 和 || 外,还有逻辑非 (!)
逻辑非 (!) 的判断逻辑如下:
console.log(!3) false
console.log(!" ") false (空格为true,取非之后为false)
console.log(!"") true (空串为false,取非之后为true)
console.log(!false) true
console.log(!NaN) true
console.log(!0) true
console.log(!undefined) true
console.log(!null) true
var obj={}
console.log(!obj) false