//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,返回這個數。code
若是兩個數都是false,返回第一個操做數。io
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 }
== 內容(值)相等console
=== 值和類型都相等function