1.赋值符号(=)优先级是最低的,运算结束,最后赋值。
c=1+2+"b" 右边先计算,最后赋值给c
2.字符串是碰瓷的,任何数据类型+字符串,都变成字符串,+是拼接作用。
var a = 1+"a"+1+1
document.write(a)
a=1a11
3.计算机有自己的存储单元。
4.a++ -------->a=a+1
++a ---------->a=a+1
document.write(a ++) a=1
document.write(a) a=2
document.write( ++ a) a=2
var a=1;
var b=a ++ +1;
document.write(b);
document.write(a);
b=2(等语句运行完,++再运行,最后算++)
a=2
var b=++ a +1;
document.write(b);
b=3
var a=1;
var b=a-- +-- a;(整个语句,优先算--,a=0前面的a=0,赋值给b,b=0.然后再计算a--.a=-1)
document.write(b);
document.write(a);
b=0
a=-1
a=a+10--------------------------a+=10 (a加10赋值给a)
asc码 如用0000001 7或8位二进制数 表示1-127 数字 代表对应字符
var a= "10">"8";
document.write(a);
比较字符串,是比较asc码
比较运算符 得出来的结果都是true和false
== 等于 = 赋值
!= 不等于
逻辑运算符
&& || ! 与 或 非
&& 与运算符 先看&&与运算符前的表达式转换成布尔值是否为true.再看&&后面的表达式转换成布尔值的结果,
如果前面表达式为真,那么表第二个表达式结果直接返回。
var a=1 && 2
a=2
如果第一个表达式的布尔值是false,把第一个表达式的值返回。
var a=0 && 2
a=0
undefined null NaN "" 0 false ==== 结果 false
var a= 1 && 4 && 1
a=1
var a= 1 && 0 && 1
a=0
不断往后推,到假的返回假的。中断。如果没有假的,就一直往后推。
短路语句,如果前面是真,才能执行下面的函数。
2>1 && document.write('i love you ')
data && fn(data); data有意义,才执行下面的语句;