JavaScript的运算符

JavaScript 拥有如下类型的运算符

  • 赋值运算符(Assignment operators)
  • 比较运算符(Comparison operators)
  • 算数运算符(Arithmetic operators)
  • 按位运算符(Bitwise operators)
  • 逻辑运算符(Logical operators)
  • 字符串运算符(String operators)
  • 条件 (三元) 运算符(Conditional operator)
  • 逗号运算符(Comma operator)
  • 一元运算符(Unary operators)
  • 关系运算符(Relational operator)

JavaScript 拥有二元(binary)和一元(unary)运算符, 和一个特殊的三元(ternary)运算符(条件运算符)

赋值运算符
一个 赋值运算符(assignment operator) 赋一个基于它右边操作数值的值给它左边的操作数

名字 速记 等同于 赋值 Assignment x = y , x = y 加法赋值 Addition assignment x += y
, x = x + y 减法赋值 Subtraction assignment x -= y , x = x - y
乘法赋值 Multiplication assignment x = y , x = x y 除法赋值 Division
assignment x /= y , x = x / y 求余赋值 Remainder assignment x %= y , x = x
% y 求幂赋值 Exponentiation assignment x = y , x = x y 左移位赋值 Left
shift assignment x = y , x = x >> y 无符号右移位赋值 Unsigned right shift assignment x >>>= y , x = x >>> y 按位与赋值 Bitwise AND assignment x &= y , x = x & y
按位异或赋值 Bitwise XOR assignment x ^= y , x = x ^ y 按位或赋值 Bitwise OR
assignment x = y , x = x y

解构
解构赋值 destructuring assignment 语法是一个能从数组或对象对应的数组结构或对象字面量里提取数据的 Javascript 表达式

var foo = ["one", "two", "three"];

// 不使用解构
var one   = foo[0];
var two   = foo[1];
var three = foo[2];

// 使用解构
var [one, two, three] = foo;

比较运算符
一个比较运算符(Comparison operators)比较它的操作数并返回一个机遇表达式是否为真的逻辑值

操作数可以是数字,字符串,逻辑,对象值

下面的表格描述了该示例代码中的各比较运算符

var var1 = 3, var2 = 4;

运算符    描述    返回true的示例
等于 Equal (==)    如果两边操作数相等时返回true    3 == var1 , "3" == var1 , 3 == '3'
不等于 Not equal (!=)    如果两边操作数不相等时返回true    var1 != 4 , var2 != "3"
全等 Strict equal (===)    两边操作数相等且类型相同时返回true    3 === var1
不全等 Strict not equal (!==)    两边操作数不相等或类型不同时返回true    var1 !== "3" , 3 !== '3'
大于 Greater than (>)    左边的操作数大于右边的操作数返回true    var2 > var1 , "12" > 2
大于等于 Greater than or equal (>=)    左边的操作数大于或等于右边的操作数返回true    var2 >= var1 , var1 >= 3
小于 Less than (= 18) ? "adult" : "minor";

当age大于等于18的时候,语句将"adult"赋值给status,否则将"minor"赋值给status

逗号操作符
逗号操作符(comma operator)对两个操作数进行求值并返回第二个操作数的值

它常常用在for循环中,在每次循环时对多个变量进行更新

for (var i = 0, j = 9; i 

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据