javascript_05-操作符

一元运算符

a++和++a
//5                2      3
var a =1; var b = ++a + ++a; console.log(b)
//4                 1     3
var a =1; var b = a++ + ++a; console.log(b)
//3                 1      2 
var a =1; var b = a++ + a++; console.log(b)
//4                2      2  
var a =1; var b = ++a + a++; console.log(b)

var a =1;
++a; //先a=a+1 表达式返回a的值。
a++; //先返回表达式的值a, 再a= a+1;

逻辑运算符

&&  //有一个false,返回false
        //短路运算符,当前面的为false,直接返回false,这叫短路。
        var a = true && false;
        var b = "abc" && "bcd";
        var c = undefined && null; //undefined
        console.log(b);
||  //有一个true,返回true
        var d = "abc" || "bcd" //返回abc,短路运算符。
        var e = undefined || null; //null
!   //取反
&&

如果两个操作数都不是Boolean类型,如果两个值转换成Boolean类型都是true,返回第二个操作数,如果有一个操作数转换成,布尔类型是false,返回这个数。

如果两个数都是false,返回第一个操作数。

sum(undefined,5);

function sum(n1,n2){
    n1= n1 || 0;
    n2= n2 || 0;
    console.log(n1+n2); //5
    
}
function sum(n3,n4){
    console.log(n3+n4); //NaN
    
}

比较运算符

== 内容(值)相等

=== 值和类型都相等