我们在本文件夹的第二篇里讲到了JS中变量的概念,本篇文章讲一下运算符和表达式。
前言
比如说+、*、/、( 都是运算符,而(3+5)/2则是表达式。
运算符的定义和分类
运算符也叫操作符。通过运算符可以对一个或多个值进行运算,并获取运算结果。
比如:typeof 就是运算符,可以来获得一个值的类型。它会将该值的类型以字符串的形式返回:number string boolean undefined object。
注:运算符都是会返回结果的,而typeof这个运算符返回的结果就是变量的类型。那返回的结果的类型是什么呢?是字符串。
运算符有很多分类,比如:
算数运算符
自增运算符
逻辑运算符
赋值运算符
关系运算符
三元运算符(条件运算符)
算数运算符
常见的算数运算符有以下几种:

求余的举例:
假设用户输入345,怎么分别得到3、4、5这三个数呢?
答案:
1 | 得到3的方法:345 除以100,得到3.45然后取整,得到3。即:parseInt(345/100) |
算数运算符的运算规则
(1)先算乘除、后算加减。
(2)小括号:能够影响计算顺序,且可以嵌套。没有中括号、没有大括号,只有小括号。
(3)百分号:取余。只关心余数。
举例1:(取余)
1 | console.log(3 % 5); |
输出结果为3。
举例2:(注意运算符优先级)
1 | var a = 1 + 2 * 3 % 4 / 3; |
结果分析:
原式 = 1 + 6 % 4 / 3 = 1 + 2 / 3 = 1.66666666666666
算数运算符的注意事项
(1)当对非Number类型的值进行运算(包括+、-、*、/)时,会将这些值转换为Number然后再运算。(注:字符串 + Number、字符串 + 字符串是特例,稍后再讲)
比如:
1 | result1 = true + 1; // 2 = 1+ 1 |
(2)任何值和NaN做运算的结果都是NaN。
(3)任何的值和字符串做加法运算,都会先转换为字符串,然后再做拼串操作。
比如:
1 | result1 = 1 + |