You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var a = [10,20,30];
var b = "Hello Felix";
var obj = new Object();
var d;
console.log(!""); // true
console.log(!d); // true
console.log(!a); // false
console.log(!b); // false
console.log(!obj); // false
二、 逻辑与 &&
如果第一个操作数能够转换为 true, 计算结果就是第二个操作数。
否则发生短路,结果为第一个操作数
var a = [10,20,30];
var b = "Hello Felix";
var obj = new Object();
var d;
console.log(true && 10); // 第一个操作数是 true,结果是第二个操作,也就是10
console.log(false && b); // 第一个操作数是 false,结果 false
console.log(100 && false); // 第一个操作数是100,结果 false
console.log(undefined && false); // 第一个操作数是 undefined,结果 undefined
console.log(NaN && false); // 第一个操作数是 NaN,结果 NaN
console.log(null && false); // 第一个操作数是 null,结果 null
console.log('' && false); // 第一个操作数是空串,结果空串
console.log(0 && 100); // 结果是0
console.log(5 && 100); // 100
console.log(a && b); // Hello Felix
console.log(obj && 200); // 200
三、逻辑或 ||
如果第一个操作数能够转换为 false, 计算结果就是第二个操作数。
否则发生短路,结果为第一个操作数
var a = [10,20,30];
var b = "Hello Felix";
var obj = new Object();
var d;
console.log(true || 10); // 第一个操作数是true,结果是第一个操作,也就是true
console.log(false || b); // 第一个操作数是false,结果是第二个操作数b
console.log(100 || false); // 第一个操作数是100,结果100
console.log(undefined || 9); // 第一个操作数是undefined转false,结果9
console.log(NaN || false); // 第一个操作数是NaN转false,结果第二个操作数
console.log(null || a); // 第一个操作数是null转false,结果a
console.log('' || false); // 第一个操作数是空串转false,结果第二操作数
console.log(0 || 100); // 结果是100
console.log(5 || 100); // 5
console.log(a || b); // a
console.log(obj || 200); // obj
The text was updated successfully, but these errors were encountered:
逻辑运算 Logical operators,又称布尔运算, JavaScript 中的逻辑运算与其他强类型语言(如: Java、c#、c等)有着很大的不同,其他那些强类型的语言的逻辑运算参与运算的都是 true 或 false, 很容易理解和记住,但是 Javascript 中的“逻辑运算”参与运算的可以是任意类型,结果也可能是任意类型,规则很复杂。
Javascript 的这种不同的数据类型之间可以做运算,是因为 Javascript 引擎在运算之前会悄悄的把参与运算的数据类型进行了隐士转换(implicit)。
其他数据类型隐式转换为布尔类型的规则: 空字符串、0、NaN、null、undefined, 除此之外全部转为 true.
一、 取反
首先将数据转化为布尔值,然后取反,结果要么为 true, 要么为 false
二、 逻辑与 &&
三、逻辑或 ||
The text was updated successfully, but these errors were encountered: