var result = true && true;
//只要有一个false,就返回false
result = true && false;
result = false && true;
result = false && false;
console.log("result = " + result);
//第一个值为true,会检查第二个值
true && alert("你看我出不出来!!");
//第一个值为false,不会检查第二个值
//false && alert("你看我出不出来!!");
//两个都是false,则返回false
result = false || false;
//只要有一个true就返回true
result = true || false;
result = false || false;
result = true || true;
console.log("result = " + result);
//第一个值为false,则会检查第二个值
false || alert("123");
//第一个值为true,则不再检查第二个值
//true || alert("123");
var a = false;
//对a进行非运算
a = !!a;
console.log("a = " + a);
var b = 10;
b = !!b;
console.log("b = " + b);
console.log(typeof b);



var a = false;
//对a进行非运算
a = !!a;
console.log("a = " + a);
console.log(typeof a);
var b = 10;
b = !!b;
console.log("b = " + b);
console.log(typeof b);
true 变 false,false 变 true
var result = true && true;
//只要有一个false,就返回false
result = true && false;
console.log("result = " + result);
result = false && true;
console.log("result = " + result);
result = false && false;
console.log("result = " + result);
//第一个值为true,会检查第二个值
true && alert("你看我出不出来!!");
//第一个值为false,不会检查第二个值
false && alert("你看我出不出来!!");
//两个都是false,则返回false
var = result = false || false;
//只要有一个true就返回true
result = true || false;
console.log("result = " + result);
result = false || false;
console.log("result = " + result);
result = true || true;
console.log("result = " + result);
//第一个值为false,则会检查第二个值
false || alert("123");
//第一个值为true,则不再检查第二个值
true || alert("123");
//true && true
//与运算,如果两个值都为true,则返回后边的
var result = 5 && 6;
//与运算,如果两个值中有false,则返回靠前的false
//false && true
//result = 0 && 2;
//如果有false则返回false
//result = 2 && 0;
//false && false
//result = NaN && 0;
//result = 0 && NaN;
console.log(result);
//true || true
//如果第一个值为true,则直接返回第一个值
result = 2 || 1;
//result = 2 || NaN;
//result = 2 || 0;
//如果第一个值为false,则直接返回第二个值
//result = NaN || 1;
//result = NaN || 0;
//result = "" || "hello";
//result = -1 || "你好";
console.log("result = " + result);

//true && true
//与运算,如果两个值都为true,则返回后边的
var result = 5 && 6;
//与运算,如果两个值中有false,则返回靠前的false
//false && true
result = 0 && 2;
console.log(result);
//如果有false则返回false
result = 2 && 0;
console.log(result);
//false && false
result = NaN && 0;
console.log(result);
result = 0 && NaN;
console.log(result);
//true || true
//如果第一个值为true,则直接返回第一个值
result = 2 || 1;
console.log("result = " + result);
result = 2 || NaN;
console.log("result = " + result);
result = 2 || 0;
console.log("result = " + result);
//如果第一个值为false,则直接返回第二个值
result = NaN || 1;
console.log("result = " + result);
result = NaN || 0;
console.log("result = " + result);
result = "" || "hello";
console.log("result = " + result);
result = -1 || "你好";
console.log("result = " + result);