1、js运算符
+ :
1、 数学运算
2、字符串链接、任何数据类型加上字符串都等于字符串。
var a = 1 + 1 + "a" + 1;
console.log(a); --> 2a1
/ :
0/1 --> 0 , 0/0 --> NaN , 1/0 --> Infinity , -1/0 --> Infinity
++ \ - - :
++ \ - - 在后: 执行完此条语句才会自加
++ \ - - 在前: 无论如何都先自加
var a = 15;
var b = ++a - 1 + a++;
document.write(a,b); --> 17, 31
var a = 1;
var b = a-- + --a;
document.write(b); --> 0
+= -= *= /= %=
a += 1; --> a = a + 1;
var a = 0; a %= 4; -->0
小练习
var a = 123; var b = 234; 交换 a , b 的值。
var a = 123;
var b = 234;
var c;
c = a;
a = b;
b = c;
console.log(a,b);
var a = 123;
var b = 234;
a = a + b;
b = a - b;
a = a - b;
console.log(a,b);
2、比较运算符
> < == <= >= != :
任何值类型都可以比较:各自有各自的比较规则。比较结果为Boolean值.
字符串比较ASCII码
var c = "a" > "b";
document.write(c); --> false
var d = "10" > "8";
document.write(d); --> false
特殊:
NaN == NaN; --> false
{} == {}; --> false
[] == []; --> false
var obj = {};
var obj1 = obj;
obj == obj1;
obj === obj1; -->true //比较地址
3、逻辑运算符
undefined, null, NaN, " ", 0, false; ⇒ Boolean值为false
&& 全真才真 有假就假 遇假终止
短路语句:
1 && document.write("输出web");
短路语句常用来判断数据是否正确,保障执行的效率。如下面例子,只有当data为true的时候才能执行语句。
var data = ...;
data && 执行一个需要data的语句
|| 全假才假 有真就真 遇真终止
常用来处理兼容问题:
比如写一个事件,让它在IE与非IE浏览器中都能拿到数据。
div.onclick = function (e) {
var event = e || window.event
}