运算符
1、算数运算符
当对非Number类型的值进行运算时,会将这些值转换成Number,然后再运算,任何值和NaN做运算都得NaN
(1) +
- 可以对两个值进行加法运算,并将结果返回
- 若对字符串进行加法运算,则会将两个字符串拼接成一个字符串,并返回
- 任何值和字符串做加法,都会先转换为字符串,然后拼接
隐式的类型转换:
举例:
(2) -
- 对两个值进行减法运算,并将结果返回
(3) *
- 对两个值进行乘法运算
(4) /
- 对两个值进行除法运算
其余三种隐式转换:
(5)%
- 取模运算(取余数)
2、一元运算符–只需要一个操作数
(1) + 正号
- 正号不会对数字产生任何影响
(2) - 负号
- 负号可以对数字进行负号的取反
举例:
var a = 1+ +"2" +3 值为6
3、自增 ++
3.1、自减 - -
4、逻辑运算符
(1)非 !
(2)与 &&
(3)或 ||
(4)与,或的非布尔值的情况
5、赋值运算符
(1)=
- 可以将符号右边的值赋给符号左侧的变量
(2)其他
6、关系运算符
(1)> 大于号
- 判断符号左侧的值是否大于右侧的值
- 如果关系成立,返回true,如果不成立,返回false
(2)< 小于号
- 判断符号左侧的值是否小于右侧的值
- 如果关系成立,返回true,如果不成立,返回false
(3)>= 大于等于号
- 判断符号左侧的值是否大于或等于右侧的值
(4)<= 小于等于号
- 判断符号左侧的值是否小于或等于右侧的值
(5)非数值的情况
- 对于非数值进行比较时,会将其转换成数字然后再比较
- 如果两侧的值都是字符串时,不会将其转换成数字再比较,而是分别比较字符串的Unicode编码
(6)比较两个字符串时,比较的时Unicode编码
(7)比较字符编码时是一位一位进行比较,如果两位一样就比较下一位
console.log("bbc"<"b"); //false
console.log("abc"<"bcd"); //true
编码 |
---|
在字符串中使用转义字符输入Unicode编码—格式: \u四位编码 |
在网页中使用Unicode编码—格式:&#编码(编码要用十进制) |
7、相等运算符
-
相等运算符用来比较两个值是否相等
-
如果相等会返回true,否则返回false
(1)使用==来做相等运算 -
当使用==来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,然后再比较
(2)使用!=来做不相等运算 -
当使用!=来比较两个值时,如果值的类型不同,则会自动进行类型转换,将其转换为相同的类型,然后再比较,如果相等则会返回false
(3)=== 全等 -
用来判断两个值是否全等,它和相等类似,但是如果比较的两个对象类型不一样,直接返回false,不会转换类型
(4)!== 不全等 -
用来判断两个值是否不全等,它和不相等类似,但是如果比较的两个对象类型不一样,直接返回true,不会转换类型
8、条件运算符
- 条件运算符也叫三元运算符
如果条件的表达式的求值结果是一个非布尔值,会将其转换成布尔值然后再运算
运算符的优先级
代码块
我们的程序是由一条一条语句构成的,语句是按照自上而下的顺序一条一条执行的,再JS中可以使用{ }来为语句进行分组,同一个{ }中的语句我们称为是一组语句,它们要么都执行,要么都不执行,一个{ }中的语句我们也称为一个代码块,在代码块的后边就不用再编写 ;(分号)了。
JS的代码块中,只有分组的作用,没有其他的用途