运算符 :
双目(二元)运算符 : + - * / %(模)
单目(一元)运算符 :++ --
表达式 :
6+8
表达式的值:
- * / %(模)
两边都是数值 正常计算
两边有一侧是数字字符串,另一侧是数值,字符串会自动转成数值 正常计算
两边都是纯数字字符串,字符串会自动转成数值 正常计算
有一侧是非数字字符串,不能进行计算,结果是NaN
不能正常计算的结果都是NaN NaN:not a number 不是一个数
NaN的typeof值 number ,NaN不等于任何数,包括自己
%运算 :
7%5 7%7 13%5 78%10 123%10 7%1 897%10 76843%10
扩展 : -7%5 -2 7%(-5) 2 -7%(-5) -2
任何数%10 结果都是 个位数
+运算符表达式的值:
字符串和数字相加表示连接 2+5+"9" -7
+ 加法计算和 连接 ,连接优先
单目运算符 : ++ 自增 -- 自减
注意 : 要求操作数必须是变量
9++ --9 错误的
var i = 10;
i++ 或 ++i 写法正确
i++和++i区别 :
相同点 : 自增变量都会加1 或 减 1
不同点 : 表达式的值不同
如果++在变量前面, 先将自增变量的值自增1 , 再将自增变量的值赋值给整个表达式 先自增后赋值
如果++在后面, 先将自增变量的值赋值给整个表达式,再将自增变量的值自增1 先赋值后自增
var i = 1;
计算下面表达式的值 程序运行时,变量一直会发生变化
i++ + ++i + i
1 3 3
i 2 3
var i = 1;
计算表达式的值
--i + i++ + ++i
0 0 2
i 0 1 2