JavaScript 语言中的赋值运算可以分为简单和复合两种赋值运算,前者是将赋值运算符 =
右边表达式的值保存到左边的变量中,而后者是混合了其他的操作(例如算术运算符操作)和赋值操作相结合。
简单赋值运算符
最简单的赋值运算符应该就是等号 =
,把一个值赋给一个变量,例如我们学变量的使用,声明一个变量并给变量赋值可以写为var a = 1
,这就表示给变量 a
赋值为 1。
语法格式:
变量 = 数据
赋值运算符左边只能是变量,多个赋值运算符可以组成赋值表达式,它具有右结合性。如果赋值运算符的左侧也为一个数值则会报错:
console.log(7 = 6); // SyntaxError: Invalid left-hand side in assignment
报错信息提示我们赋值中的左侧无效。
示例:
例如使用赋值运算符 =
给变量赋值:
var num1 = 85;
var num2 = num1;
console.log(num2); // 输出:85
首先我们将等号右边的值 85 赋值给左边的变量 num1,然后将等号右边的变量 num1 中存储的值,赋值给左边的变量num2,最后输出 num2 的值也为85。
记住遵循一个原则:从右往左计算。
加赋值运算符
加赋值运算符 +=
,用于把一个右值与一个变量相加,然后把相加的结果赋给该变量。两个操作数的类型决定了加赋值运算符的行为。算术相加或字符串连接都有可能。
+=
其实就是一个简写运算符的方式,例如 x += y
就是 x = x + y
的简写,这中方式在循环中经常会用到。
示例:
例如下面这几句代码:
var x = 8;
x += 5;
console.log(x); // 输出:13
执行这段代码,最后输出结果为 13。其中 x += 5
就相当于 x = x + 5
。
如果加赋值的是一个字符串类型的值,则返回的结果也为一个字符串值:
var a = 8;
a += '10';
console.log(a); // 输出:810
减赋值运算符
减赋值运算符 -=
,使一个变量减去右值,然后把结果赋给该变量。使用方法和 +=
正好相反。例如x -= y
相当于 x = x - y
。
示例:
例如下面代码中的 y-=3
其实就相当于 y = y - 3
:
var y = 10;
y -= 3;
console.log(y); // 输出:7
乘赋值运算符
乘赋值运算符 *=
,使一个变量乘以右值,然后把相乘的结果赋给该变量。这也与加赋值运算符的使用方法差不多。x *= y
相当于 x = x * y
。
示例:
var z = 8;
z *= 5;
console.log(z); // 输出:40
除赋值运算符
除赋值运算符 /=
,使一个变量除以右值,然后把结果赋给该变量。x /= y
相当于 x = x / y
。
示例:
var w = 8;
w /= 4;
console.log(w); // 输出:2
模赋值运算符
模赋值运算符 %=
使一个变量除以右值,然后把余数赋给该变量。我们讲算术运算符的时候就讲过模运算是用于求余数的。
示例:
例如变量 p
的值为 8,而p %= 5
就相当于 p = p % 5
,结果余 3:
var p = 8;
p %= 5;
console.log(p); // 输出:3
一个等号两个等号三个等号
- 一个等号
=
可以用来赋值。 - 两个等号
==
用于比较,先检查两个操作数的数据类型是否相同,如果相同,则比较两个数是否相等。如果不同,则先将两个数转换为相同数据类型,再进行比较。 - 三个等号
===
也是用于比较,和两个等号不同的是,如果类型不同,不进行数据类型转换,直接返回false。
动手小练习
- 使用
=
赋值运算符,定义一个变量 number,然后给变量赋值为100。 - 定义一个变量a、b,给这两个变量赋值,然后分别使用
+=
、-=
、*=
、/=
、%=
不同的运算符对讲个变量进行运算,在浏览器输出结果。JavaScript中的字符串
网友评论