1. 运算符
1.1 递增运算符
递增运算符包括前置递增运算符和后置递增运算符,如下:
<script>
var str1 = 10;
var str2 = 20;
console.log(++str1);//11
console.log(str2++);//20
</script>
其中 ++str1 是对 str1 进行了前置递增运算相当于进行了 str1 = str1 + 1 , 而前置和后置的区别在于前置运算符是先自加1 , 再返回值,而后置运算符是先返回值,再自加1。
1.2 比较运算符
运算符名称 | 运算符符号 |
---|---|
大于号 | > |
小于号 | < |
大于等于号 | >= |
小于等于号 | <= |
等号(会转型) | == |
不等号 | != |
全等(全不等) | === (!==) |
等号和全等号的区别在于等号判断左右两边的值时会自动将数值类型转化成一样的进行比较:
console.log('10' == 10);//true
console.log('10' === 10);//false
1.3 逻辑运算符
包括逻辑与(&&),逻辑或(||),逻辑非(!())。
// and
console.log(1 > 2 && 2 > 1);//false
// or
console.log(1 > 2 || 2 > 1);//true
// not
console.log(!(true));//false
短路运算(逻辑中断)
当有多个表达式的值时,左边的表达式值可以确定结果是,就不在继续运算右边的表达式的值。
逻辑与(见假则假)逻辑非(见真则真)
console.log(123 && 456);//456
console.log(0 && 456);//0
console.log(0 || 456);//456
console.log(123 || 456);//123
逻辑中断可能影响一些程序的结果:
var num = 0;
console.log(123 || num++);
console.log(num);//0
其中的num++没有进行运算,因为逻辑或(见真则真)逻辑中断了。
1.4 赋值运算符
赋值运算符 | 说明 |
---|---|
= | 直接赋值 |
+= , -= | 加,减一个数后再赋值 |
*= , /= , %= | 乘,除,取模后再赋值 |
var num = 10;
age += 5;//age = 15
age *= 2;//age = 30
1.5 运算符优先级
三元表达式:
由三个运算符组成的式子成为三元运算符。
条件表达式 ? 表达式1 :表达式2.
条件表达式结果为真则返回表达式1 ,为假则返回表达式2.
var num = 10;
var result = num > 5 ? 'Yes' : 'No';//Yes