一、运算操作符
“+”
1,数学运算,字符串连接
2,任何数据类型加字符串都等于字符串
“-”,“*”,“/”,“%”,“=”,“()”
正常运算逻辑从左向右,优先级“=”最弱,“()”最强
“++”:含义(i为对象变量):i = i +1;
i++:含义:先参与运算,后自身+1。
var i = 0;
console.log(i++);//0
console.log(i);//1
++i:含义:先身+1,后参与运算。
var i = 0;
console.log(++i);//1
console.log(i);//1
“--”:同“++”
“+=”:例:i+=j,含义:i = i +j;
“-=”:例:i-=j,含义:i = i -j;
“/=”:例:i/=j,含义:i = i /j;
“*=”:例:i*=j,含义:i = i *j;
“%=”:例:i%=j,含义:i = i /j取余;
练习
问:var a = 123;var b =234;交换a与b的值。
案1:
声明新变量c做存值用,详细省略。。。
案2:
var a = 123;
var b = 234;
a = a + b;//先设置a和b的和 356
b = a - b;//此时a中存储是a与b的和356,减去b的值后,即为a的值123。
a = a - b;//此时a中存储是a与b的和356,减去b的新值123后,得到新值234。 console.log(a);//234
console.log(b);//123
二、比较运算符
“<”,“>”,“==”,“>=”,“<=”,“!=”
比较结果为boolean值。
特殊:
未定义:undefined == undefined 结果:true
正无穷:Infinity == Infinity 结果:true
非数:NaN == NaN 结果:false(NaN不与任何东西相等,包括自己)
三、逻辑运算符
运算结果为真实的值。
“&&”:碰到假就停
例:
var a = 1 && 2 > 1 && "我很帅";//从左到右,直到最后“&&”之前的表达式,依次查看表达式转换为布尔值的结果,如果结果一直为真,则将最后“&&”之后的表达式的结果返回。
console.log(a);//我很帅
var a = 1 && 2 < 1 && "我很帅";//如果当中某一个表达式转换为布尔值的结果为假,则返回该表示式的结果。
console.log(a);//false
“||”:碰到真就停。
var a = 1 || 2 > 1 || "我很帅";//从左到右,直到最后“&&”之前的表达式,依次查看表达式转换为布尔值的结果,只要任意的表达式转换成布尔值的结果为真,则返回该表达式的结果。
console.log(a);//1
var a = 0 || 2 < 1 || "我很帅";//如果当中某一个表达式转换为布尔值的结果一直为假,则将最后“||”之后的表达式的结果返回。
console.log(a);//"我很帅"
“!”:将表达式转换成布尔值取反。
例:
var a = !123;//加上“!”后,将表达式的结果转化为布尔值,然后取反,返回该取反的值。
console.log(a);//false
四、被认定为False的值
undefined,null,NaN,"",0,false