临近下班,百般无聊,懒得撸代码,写点东西吧。长话短说
逻辑运算符通常用于Boolean型(逻辑)值。这种情况,它们返回一个布尔型值。然而,‘&&’`和‘||’运算符实际上返回一个指定操作数的值,因此这些运算符也用于非布尔型,它们返回一个非布尔型值。
1、&&
常规:两者都为真即为真,一者为假即为假
只要前者是false,无论后面是true还是false,结果都将返回前面的值;
只要前者是true,无论后面是true还是false,结果都将返回后面的值;
2、||
常规:两者有一者为真即为真,两者为假即为假
只要前者为false,不管后面是true还是false,都返回后面的值。
只要前者为true,不管后面是true还是false,都返回前面的值。
3、!
常规:这个就好理解了,这么说
true为false,false为true。var num = 5;console.log(!num);
小示例:
console.log((1 && 3 || 0) && 4); // 4
console.log(1 && 3 || 0 && 4); // 3
console.log(0 && 3 || 1 && 4); // 4
在你还在迷糊时,应该知道js的6个小知识
逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为true。
尽管 && 和 || 运算符能够使用非布尔值的操作数, 但它们依然被看作是布尔操作符,因为它们的返回值总是能够被转换为布尔值。
由于运算符优先级的存在,下面的表达式的结果却不相同。右侧被小括号括起来的操作变成了独立的表达式。
false && true || true // 结果为 true
false && (true || true) // 结果为 false
其他运算符:
算数运算符,赋值运算符,位操作符,三元运算符,一元运算符,比较运算符,条件运算符等等等等巴拉巴拉...
结语:其他操作符就不一一细说了,玛德 赶不上地铁了(哈哈)。