乐趣区

JavaScript赋值运算符

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。

动手小练习

  1. 使用 = 赋值运算符,定义一个变量 number,然后给变量赋值为 100。
  2. 定义一个变量 a、b,给这两个变量赋值,然后分别使用 +=-=*=/=%= 不同的运算符对讲个变量进行运算,在浏览器输出结果。JavaScript 中的字符串
退出移动版