ECMA Script 5学习笔记—3.1 运算符:算术运算符

1.概述

JavaScript 共提供10个算术运算符,用来完成基本的算术运算。

加法运算符:x + y
减法运算符: x - y
乘法运算符: x * y
除法运算符:x / y
指数运算符:x ** y
余数运算符:x % y
自增运算符:++x 或者 x++
自减运算符:–x 或者 x–
数值运算符: +x
负数值运算符:-x

2.加法运算符

2.1基本规则

加法运算符(+)是最常见的运算符,用来求两个数值的和。

比较特殊的是,如果是两个字符串相加,这时加法运算符会变成连接运算符,返回一个新的字符串,将两个原字符串连接在一起。

如果一个运算子是字符串,另一个运算子是非字符串,这时非字符串会转成字符串,再连接在一起。

加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)。由于加法运算符存在重载,可能执行两种运算,使用的时候必须很小心。

2.2对象的加法

如果运算子是对象,必须先转成原始类型的值,然后再相加。

3.余数的运算

余数运算符(%)返回前一个运算子被后一个运算子除,所得的余数。

4.自增和自减

自增和自减运算符,是一元运算符,只需要一个运算子。它们的作用是将运算子首先转为数值,然后加上1或者减去1。它们会修改原始变量。
运算之后,变量的值发生变化,这种效应叫做运算的副作用(side effect)。自增和自减运算符是仅有的两个具有副作用的运算符,其他运算符都不会改变变量的值。
自增和自减运算符有一个需要注意的地方,就是放在变量之后,会先返回变量操作前的值,再进行自增/自减操作;放在变量之前,会先进行自增/自减操作,再返回变量操作后的值。

5.数值运算符,负数值运算符

数值运算符(+)同样使用加号,但它是一元运算符(只需要一个操作数),而加法运算符是二元运算符(需要两个操作数)。
数值运算符的作用在于可以将任何值转为数值(与Number函数的作用相同)。
上面代码表示,非数值经过数值运算符以后,都变成了数值(最后一行NaN也是数值)。
负数值运算符(-),也同样具有将一个值转为数值的功能,只不过得到的值正负相反。连用两个负数值运算符,等同于数值运算符。

6.指数运算符

指数运算符(**)完成指数运算,前一个运算子是底数,后一个运算子是指数。

7.赋值运算符

赋值运算符(Assignment Operators)用于给变量赋值。
最常见的赋值运算符,当然就是等号(=)。
赋值运算符还可以与其他运算符结合,形成变体。
// 等同于 x = 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
x **= y

你可能感兴趣的:(JavaScript)