# 运算操作符
运算操作符
"+" "-" "*" "/" "%"摩尔(取余结果) "="赋值 "()"
优先级"="最弱 "()"优先级最高
运算操作符
"++" 自加一
"--" 自减一
"+=" "-=" "/=" "*=" "%="
Nan的意思就是 not a number
# ++a和a++
a++自加一, ++a先加后a
var a = 1;
document.write(a ++);
//打印1 后面如果再运行a为 2
document.write(++ a);
///打印2,直接加了 1
//++a 如果和a++在一块 先算++a
var a = 1;
++a;
document.write(a); //2
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
var a = 10;
document.write(a ++);
//打印出的结果是10(先打印 后加一)
document.write(a);
//打印出的结果是11
1
2
3
4
5
2
3
4
5
var a = 10;
var b = ++a - 1 + a++;
document.write(b+ " " + a);
//++a=11 -1 +10 +1 b=21 a=12
//赋值的顺序自右向左 计算的顺序自左向右
1
2
3
4
5
2
3
4
5
var a = 10;
a = a + 10;
a += 10;
//复杂写法就是a = a + 10; a = 20
var a = 10;
a += 10 + 1;
//输出a=21 a=a+10+1;
var a = 10;
a *= 2 ; //a= a*2
var a = 10;
a /= 2 //a=a/2
var a = 10;
a % = 2;
//取余 余数赋给自身 10%2=5 a = 0;
var a = 3;
a % = 4;
//取余 余数赋给自身 a = 3;(除不开就叫做商0余3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 总结
var a = (10 * 3 - 4 / 2 + 1) % 2; //29 % 2 = 1,a = 1
b = 3;
b %= a + 3; //3 % = 4
document.write(a++); //a=1 之后调用再加加
document.write("<br>");
document.write(--b); //--b 打印2
1
2
3
4
5
6
2
3
4
5
6
# 例子:
将两个变量值调换顺序
var a = 123;
var b = 234;
var c = a; //先运算后面 123=a=c
a = b; //234=a
b = c; //123=b
document.write(a,b);
1
2
3
4
5
6
2
3
4
5
6
另一种写法
var a = 123;
var b = 234;
a = a + b; //a等于两个的和
b = a - b; //b等于两个的和减b
a = a - b; //a等于两个的和减现在的b
1
2
3
4
5
2
3
4
5
# 比较运算符
比较运算符
">" "<" "==" 是否等于 ">=" "<=" "!=是否不等于" 字符串通过比较运算符比较的是Ask码
所有的比较运算符的结果都为布尔值(ture或false)
var a = NaN == NaN; //false(特例)
1
var a = 1 + 'a' + (1 + 1);
document.write(a);
//从左向右计算 1a2
1
2
3
2
3
提示
任何数据类型和字符串相加都等于字符串
# 逻辑运算符
逻辑运算符
"&&" "||" "!" (与或非)
# 规律:
先看第一表达式转换为布尔值得结果,如果结果为真,那么它会看第二个表达式转换为布尔值的结果,然后如果只有两个表达式的话,只能看到第二个表达式,就可以返回第二个表达式的值
&& 与
第一个值为真,第二个值也为真,返回第二个值。
如果有三个表达式,则从左往右看,都为真则返回最后一个值,中间有一个为假,则返回假的值.或者第一个为假,直接返回第一个.
碰见假就返回
|| 或
如果第一个为真 则返回第一个 后面的不用看 如果第一个为假 后面的也为假或者真 则返回第二个
碰见真就返回
var a = 1 && 2;
//第一个值为真 第二个值也为真 返回第二个值。
document.write(a); //返回2
2 > 1 && document.write('我很帅'); //形似if语句
1
2
3
4
5
2
3
4
5
! 非
先把值转换为布尔值再取反 123是真取反则是假
undefined,null,NaN,"",0,false都是false
其余的之间比较都是true
var a = !123;
document.write(a); //false
1
2
2