9.7 JavaScript_语法_一元运算符
- 一元运算符 :只有一个运算数的运算符
运算符 | 描述 |
---|---|
++ | 自增 |
- - | 自减 |
+ | 正号 |
- | 负号 |
- notes:
- 在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换。例如:
var a = +"abc";
- 其他类型转 number:
- string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)
- boolean转number:true转为1,false转为0
- 在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换。例如:
- 示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>一元运算符</title>
<script>
var num = 3;
var a = ++ num ;
document.write(num);// 4
document.write(a); // 3 4
document.write("<hr>");
var b = +"abc";
document.write(typeof (b));//number
document.write(b + 1);//NaN
document.write("<hr>");
var flag = + true;
var f2 = + false;
document.write(typeof (flag) + "<br>");//number
document.write(flag + "<br>");// 1
document.write(f2 + "<br>");// 0
</script>
</head>
<body>
</body>
</html>
9.8 JavaScript_语法_算数运算符
运算符 | 描述 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
++ | 递加 |
- - | 递减 |
9.9 JavaScript_语法_赋值运算符
算符 | 例子 | 等同于 |
---|---|---|
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
9.10 JavaScript_语法_比较运算符
运算符 | 描述 |
---|---|
== | 等于 |
=== | 等值等型 |
!= | 不相等 |
!== | 不等值或不等型 |
> | 大于 |
< | 小于 |
>= | 大于或等于 |
<= | 小于或等于 |
? | 三元运算符 |
- 比较方式:
- 类型相同: 直接比较
- 字符串: 按照字典顺序比较。按位逐一比较,直到得出大小为止。
- 类型不同: 先进行类型转换,再比较
- ===: 全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false。
9.11 JavaScript_语法_逻辑运算符
运算符 | 描述 |
---|---|
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非 |
- 其他类型转boolean:
- number: 0或NaN为假,其他为真
- string: 除了空字符串(""),其他都是true
- null&undefined: 都是false
- 对象: 所有对象都为true
- 示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>比较运算符</title>
<script>
var flag = true;
document.write(flag+"<br>");//true
document.write(!flag+"<br>");//false
document.write("<hr>");
//number
var num = 3;
var num2 = 0;
var num3 = NaN;
document.write(!!num+"<br>");//true
document.write(!!num2+"<br>");//false
document.write(!!num3+"<br>");//fals
document.write("<hr>");
//string
var str1 = "abc";
var str2 = "";
document.write(!!str1+"<br>");//true
document.write(!!str2+"<br>");//false
document.write("<hr>");
// null & undefined
var obj = null;
var obj2;
document.write(!!obj+"<br>");//false
document.write(!!obj2+"<br>");//false
document.write("<hr>");
// 对象
var date = new Date();
document.write(!!date+"<br>");//true
document.write("<hr>");
obj = "123";
if(obj != null && obj.length > 0){//防止空指针异常
alert(123);
}
//js中可以这样定义,简化书写。
if(obj){//防止空指针异常
alert(111);
}
</script>
</head>
<body>
</body>
</html>
9.12 JavaScript_语法_三元运算符
- 语法:
表达式? 值1:值2;
- 判断表达式的值,如果是true则取值1,如果是false则取值2;