/*
||只要前面为false,后面无论真假,都取后面的值
只要前面为true,后面无论真假,都取前面的值
总结:至少有一个为真,则为真
输出结果:1
0
true
true
*/
console.log(false||1);
console.log(false||0);
console.log(true||0);
console.log(true||1);
/*
&&只要前面为false,后面无论真假,都取前面的值
只要前面为true,后面无论真假,都取后面的值
总结:两便都必须为真,否则为假
输出结果:false
false
0
1
*/
console.log(false&&1);
console.log(false&&0);
console.log(true&&0);
console.log(true&&1);
/*
0、”“、null、false、undefined、NaN,这6种都会被当成false,其他为true
输出结果:
0
null
false
undefined
NaN
*/
console.log(0 && 1);
console.log(null && 1);
console.log(false && 1);
console.log(undefined &&1);
console.log(NaN && 1);
function f() {
if(""){
console.log("false");
}
else {
console.log("true");
}
}
f()
/*
| 二进制位,有一个为1,则都为1
20等于10100
3等于11
10100 | 00011 等于10111,即23
*/
console.log(20 | 3)
/*
& 二进制位,同时为1.则为1,否则为0
20等于10100
3等于11
10100 | 00011 等于10111,即0
*/
console.log(20 & 3)
console.log(20 > 10 ? true : false)
console.log(20 < 10 ? true : false)
var sc = 100;
var result = (sc<0 || sc>100) ?("分数无效"):
sc>=90?("A"):
sc>=80?("B"):
sc>=60?("C"):("D");
console.log(result)
/*
三目运算符,表达式为真,取前值,表达式为假,取后值
上述表达式等同于
if(sc<0 || sc>100){
console.log("分数无效");
}
else if(sc>=90){
console.log("A");
}
else if(sc>=80){
console.log("B");
}
else if(sc>=60){
console.log("C");
}
else if(sc<60){
console.log("D");
}
*/