03JavaScript运算符
基本运算
基本运算包括加减乘除。
当数字与任意字符串都相加时相当于字符串拼接
1
2
3
4console.log(100 + "100");
//结果为 100100
console.log(100 + "test");
//结果为 100test当数字与一个字符串类型的数字相减时就返回正确的结果,与非数字的字符串相见返回NAN
1
2
3
4console.log(100 - "10");
//结果为 90
console.log(100 - "test");
//结果为NaN乘法、除法与减法类似。
1
2
3
4
5
6
7
8console.log(100 * "test");
//结果为 NaN
console.log(100 * "10");
//结果为 1000
console.log(100 / "test");
//结果为 NaN
console.log(100 / "10");
//结果为 10
由此可以得到:加法运算时,无论字符串是什么都会进行拼接;而减法、除法、乘法则会尽力转换字符串为number类型,如果无法转换结果为NaN,否则返回运算结果。
取余运算
当左边的操作数位正数时,那么结果也为整数
当左边的操作数位负数时,那么结果也为负数
1 | console.log(10 % 3); |
自增运算
自增(自减)运算结果的确定其实很简单,因为n++
是n=n+1
的简写,所以当加号在后边的时候n++
那么返回的是n,也就是直接返回结果在计算。反之,当++n
时返回的就是运算结果。
1 | var n = 100; |
1 | var n = 100; |
全等与不等运算
判断是否为NaN
1
2console.log(isNaN('test'));
//NaN只判断值而不判断类型
1
2
3
4// 只判断值是否相等 相等返回true 不等返回false
console.log(2 == "2"); //true
// 只判断值是否不等于 不等于返回true 等于返回false
console.log(2 != "2"); //false即判断值也判断类型
1
2
3
4// 判断值与类型是否全相同 全相同返回true 不全相同返回false
console.log(2 === "2"); //false
// 判断值与类型是否不相同 不相同返回true 相同返回false
console.log(2 !== "2"); //true
逻辑运算符
运算符 | 描述 | 案例 |
---|---|---|
逻辑与运算符(&& ) | 如果左边操作数转换为 boolean 类型的值为 false,则返回左边操作数,否则返回右边操作数 | true && false 的结果为 false |
逻辑或运算符(|| ) | 如果左边操作数转换为 boolean 类型的值为 true,则返回左边操作数,否则返回右边操作数 | false || true 的结果为 true |
逻辑非运算符(! ) | 将操作数转换为 boolean 类型的值,如果为 true 的话则返回 false,否则返回 true | !true 的结果为 false |
赋值运算符
赋值运算符中a=a+1
可以简写为a+=1
。
简写与不简写的区别:简写的执行效率高于不简写
条件运算符与条件语句
条件运算符即condition ? exprIfTrue : exprIfFalse
1 | var age = 20 |
在JavaScript中:
- 条件语句和条件运算符可以相互改写
- 运算符的执行优先级别高于语句的
- 条件运算符的效率更高
在if-else
里if-else
结构优于层级嵌套。
在switch语句中,default
不一定写在末尾。
1 | var num = 'test'; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小康博客!
评论
TwikooWaline