编辑这个页面须要登录或更高权限!

JavaScript 运算符

运算符对给定的操作数执行数学和逻辑运算。

JavaScript具有以下类型的运算符:

  • 算术运算符

  • 赋值运算符

  • 比较运算符

  • 按位运算符

  • 逻辑运算符

  • 字符串运算符

  • 条件(三元)运算符

  • 一元运算符

  • 关系运算符

JavaScript算术运算符

算术运算符用于对数字执行算术运算。

算术运算符将数值作为其操作数,并返回单个数值。

运算符描述示例定义测试一下
+加法a + ba和b的总和测试一下
-减法a-ba和b之差测试一下
*乘法a * ba和b的乘积测试一下
**求幂a ** ba的b次方测试一下
/除法a / ba除以b测试一下
%求模(余数)a%ba / b的余数测试一下
++自增a ++a自增1测试一下
--自减
a--a自减1测试一下

JavaScript赋值运算符

赋值运算符将值分配给JavaScript变量。

简单赋值运算符等于(=),它将其右操作数的值赋给其左操作数。

运算符描述示例等同测试一下
=赋值a = ba = b测试一下
+=相加之后再赋值a + = ba = a + b测试一下
-=相减之后再赋值a-= ba = a-b测试一下
*=相乘之后再赋值a * = ba = a * b测试一下
**=求幂之后再赋值a ** = ba = a ** b测试一下
/=相除之后再赋值a / = ba = a / b测试一下
%=求模之后再赋值a%= ba = a%b测试一下

JavaScript比较运算符

比较运算符用于比较两个值并返回布尔值。

运算符描述示例定义测试一下
==等于a == b如果a等于b,则为真测试一下
===相同a === b如果a等于b,并且属于相同类型,则为true测试一下
!=不相等a!= b如果a不等于b为真测试一下
!==不相等包括类型a!== b如果a不等于b,并且不是同一数据类型,则为true测试一下
>大于a> b如果a大于b,则为true测试一下
<小于a <b如果a小于b,则为true测试一下
>=大于或等于a> = b如果a大于或等于b,则为true测试一下
<=小于或等于a <= b如果a小于或等于b,则为true测试一下

(a ==b)和(a ===b)之间的区别是:

  • == 如果a等于b,则返回true

  • ===如果a等于b,并且它们属于同一类型,则返回true

可以在条件语句中使用比较运算符来比较值并根据得到结果进入不同流程。

在本教程的后面,您将学习如何使用条件语句。

JavaScript 按位运算符

按位运算符将其操作数视为一组32位(零和一),而不是十进制,十六进制或八进制数字。

该操作中的任何数字操作数都将转换为32位数字。结果转换回JavaScript编号。

运算符描述示例等同结果小数
&5&10101和00010001 1个
|5 | 10101 | 00010101 5
~
~5 ~01011010 10
^异或5 ^ 10101 ^ 00010100 4
<<左移5 << 10101 << 11010 10
>>有符号右移5 >> 10101 >> 10010  2
>>>无符号右移5 >>> 10101 >>> 10010  2

上面的示例使用4位无符号示例。但是JavaScript使用32位带符号的数字。

因此,在JavaScript中,~5不会返回10。它将返回-6。

~00000000000000000000000000000101将返回11111111111111111111111111111010

JavaScript逻辑运算符

逻辑运算符用于确定变量或值之间的逻辑。

逻辑运算符通常用于组合条件语句,它们返回布尔值。

运算符描述示例定义测试一下
&&逻辑与a && b如果a和b都为真,则为真测试一下
||逻辑或a|| b如果a或b为真,则为真测试一下
!逻辑非!a如果a不为真,则为真测试一下

JavaScript字符串运算符

该+运算符还可以用于连接(拼接)字符串。

var str1 = "Hello";
var str2 = "World";
var str3 = str1 + " " + str2;
测试看看‹/›

加法赋值运算符+=还可以用于连接(拼接)字符串。

var str1 = "Hey! ";
str1 += "How r u doing?";
测试看看‹/›

在字符串上使用时,该+运算符称为串联运算符。

JavaScript条件(三元)运算符

条件运算符是唯一采用三个操作数的JavaScript运算符。

描述可以根据条件获得两个值之一。语法为:

condition ? val1 : val2

如果condition 的计算结果为true,则将返回val1,否则将返回val2

您可以在使用标准运算符的任何位置使用条件运算符。

var status = (age >= 18) ? "成人" : "小孩";
测试看看‹/›

如果年龄为18岁或以上,则以上语句将值“成人”分配给变量status。否则,它将为status分配值“ 小孩”。

JavaScript一元运算符

一元运算是只有一个操作数的运算。

JavaScript中包含三个一元运算符:

描述描述
delete删除对象,对象的属性或数组中指定索引处的元素
typeof返回变量的类型
void指定要求值的表达式而不返回值

delete运算符

delete运算符可删除对象,对象的属性或数组中指定索引处的元素。

如果可以执行操作,则delete运算符返回true;否则,返回false。 如果无法执行操作,则返回false。

如果delete操作符成功,它将属性或元素设置为undefined:

var user = {firstName:"Vishal", age:"22", color:"blue"};
delete user.firstName;  // returns true
测试看看‹/›

当delete运算符删除数组元素时,该元素将从数组中移除。

var fruits = ["Apple", "Mango", "Banana"];
delete fruits[0];   // delete "Apple"
测试看看‹/›

注意:删除数组元素时,数组长度不受影响。

typeof运算符

的typeof操作者返回一个变量或表达式的类型。

typeof ""  // Returns "string"
typeof "Vishal"// Returns "string"
typeof "42"// Returns "string" (Number within quotes is String)
typeof 42  // Returns "number"
typeof true// Returns "boolean"
typeof false   // Returns "boolean"
typeof undefined   // Returns "undefined"
typeof null// Returns "object"
typeof {name:"Vishal", age:22} // Returns "object"
typeof [2, 4, 6, 8]// Returns "object" (not "array", see note below)
typeof function myFunc(){} // Returns "function"
测试看看‹/›

注意:typeof操作符为数组返回“object”,因为在JavaScript中数组是对象。

这是typeof运算符返回值的列表:

类型
typeof返回的字符串
Number"number"
String"string"
Boolean"boolean"
Object"object"
Function"function"
Undefined"undefined"
Null"object"

void运算符

void运算符指定要求值的表达式,但不返回值。

下面的代码创建一个超文本链接,当用户单击该链接时,它不会执行任何操作。

<a href="javascript:void(0)">Click here to do nothing</a>
测试看看‹/›

JavaScript关系运算符

关系运算符比较其操作数,并根据比较是否为真返回一个布尔值。

JavaScript中有两个关系运算符:

描述描述
in如果指定的属性在指定的对象中,则返回true
instanceof如果对象是对象类型的示例,则返回true

in运算符

如果指定的属性在指定的对象中,in运算符返回true。

var user = {firstName:"Vishal", age:"22", color:"blue"};

"firstName" in user;  // returns true
"age" in user;// returns true
"Food" in user;   // returns false
测试看看‹/›

将in运算符与Array数组一起使用时,必须指定索引号,而不是该索引处的值。

var fruits = ["Apple", "Mango", "Banana"];

var item1 = 0 in fruits;  // returns true
var item2 = 1 in fruits;  // returns true
var item3 = 2 in fruits;  // returns true
var item4 = 3 in fruits;  // returns false
测试看看‹/›

instanceof运算符

如果指定的对象属于指定的对象类型,则instanceof运算符将返回true。

需要在运行时判断对象类型时,请使用instanceof运算符。

var myObj = new Date();
if (myObj instanceof Date) {
   // statements to execute
}
测试看看‹/›

JavaScript菜鸟教程
JavaScript 对象
JavaScript 函数
JS HTML DOM
JS 浏览器BOM
AJAX 菜鸟教程
JavaScript 参考手册