抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

本文首发于博客园,并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我,一起入门和进阶前端。

我们在本文件夹的第二篇里讲到了JS中变量的概念,本篇文章讲一下运算符和表达式。

前言

比如说+*/( 都是运算符,而(3+5)/2则是表达式

运算符的定义和分类

运算符也叫操作符。通过运算符可以对一个或多个值进行运算,并获取运算结果。

比如:typeof 就是运算符,可以来获得一个值的类型。它会将该值的类型以字符串的形式返回:number string boolean undefined object。

注:运算符都是会返回结果的,而typeof这个运算符返回的结果就是变量的类型。那返回的结果的类型是什么呢?是字符串。

运算符有很多分类,比如:

  • 算数运算符

  • 自增运算符

  • 逻辑运算符

  • 赋值运算符

  • 关系运算符

  • 三元运算符(条件运算符)

算数运算符

常见的算数运算符有以下几种:

求余的举例

假设用户输入345,怎么分别得到3、4、5这三个数呢?

答案

1
2
3
4
5
得到3的方法:345 除以100,得到3.45然后取整,得到3。即:parseInt(345/100)

得到4的方法:345 除以100,余数是45,除以10,得到4.5,取整。即:parseInt(345 % 100 / 10)

得到5的方法:345 除以10,余数就是5。即:345 % 10

算数运算符的运算规则

(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
2
3
4
5
6
7
result1 = true + 1;  // 2 = 1+ 1

result2 = true + false; // 1 = 1+ 0

result3 = 1 + null; // 1 = 1+ 0

result4 = 100 - '1' // 99

(2)任何值和NaN做运算的结果都是NaN。

(3)任何的值和字符串做加法运算,都会先转换为字符串,然后再做拼串操作。

比如:

1
2
3
result1 = 1 +