最新的Web开发教程
 

JavaScript运算符引用


JavaScript的运算符用于赋值,比较值,执行算术运算等。


JavaScript的算术运算符

算术运算符用于执行变量和/或值之间的运算。

鉴于y = 5 ,下表说明了算术运算符:

操作者 描述 结果y中 结果X 尝试一下
+ 加成 X = Y + 2 Y = 5 X = 7 尝试一下 ”
- 减法 X = Y - 2 Y = 5 X = 3 尝试一下 ”
* 乘法 X = Y * 2 Y = 5 X = 10 尝试一下 ”
/ X = Y / 2 Y = 5 X = 2.5 尝试一下 ”
模数(division remainder) X = Y%2 Y = 5 X = 1 尝试一下 ”
++ 增量 X = ++ÿ Y = 6 X = 6 尝试一下 ”
X = Y ++ Y = 6 X = 5 尝试一下 ”
- 递减 X = --y Y = 4 X = 4 尝试一下 ”
X = y-- Y = 4 X = 5 尝试一下 ”

对于有关算术运算符的教程,请阅读我们的JavaScript算术教程


JavaScript的赋值运算符

赋值运算符使用赋值给变量的JavaScript。

鉴于x = 10和y = 5 ,下表说明了赋值运算符:

操作者 与...一样 结果X 尝试一下
= X = Y X = Y X = 5 尝试一下 ”
+ = X + = Y X = X + Y X = 15 尝试一下 ”
- = X - = Y X = X - ÿ X = 5 尝试一下 ”
* = X * = Y X = X * Y X = 50 尝试一下 ”
/ = X / = Y X = X / Y x = 2时 尝试一下 ”
%= X%= Y X = X%Y x = 0的 尝试一下 ”

对于有关赋值运算符的教程,请阅读我们的JavaScript分配教程


JavaScript字符串操作符

+运算符,和+ =操作符也可以被用来连接(add)的字符串。

鉴于text1 = "Good "text2 = "Morning"和文字3 = "" ,下面的表格说明了运营商:

操作者 文本1 文本2 文字3 尝试一下
+ 文字3 =文本1 + text2的 “好” “早上” “早上好” 尝试一下 ”
+ = 文本1 + = text2的 “早上好” “早上” “” 尝试一下 ”

比较运算符

比较运算符在逻辑语句用来确定变量或值之间的相等或差别。

鉴于x = 5 ,下表说明了比较运算符:

操作者 描述 对比 返回 尝试一下
== 等于 X == 8 尝试一下 ”
X == 5 真正 尝试一下 ”
=== 等于值且等于类型 X === "5" 尝试一下 ”
X 5 === 真正 尝试一下 ”
!= 不平等 X!= 8 真正 尝试一下 ”
!== 不等于值或不等于类型 X!== "5" 真正 尝试一下 ”
X!== 5 尝试一下 ”
> 比...更棒 X> 8 尝试一下 ”
< 少于 X <8 真正 尝试一下 ”
> = 大于或等于 X> = 8 尝试一下 ”
<= 小于或等于 X <= 8 真正 尝试一下 ”

对于有关比较运算符的教程,请阅读我们的JavaScript比较教程


条件(Ternary)运算符

条件运算符分配一个值,以基于条件的变量。

句法 尝试一下
VARIABLENAME = ( condition )值1: 值2 voteable = (age < 18) "Too young" :“够大”; 尝试一下 ”

举例说明:如果变量"age"是18岁以下的值,该变量的值"voteable"将是"Too young" ,否则voteable的值将是"Old enough"


逻辑运算符

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

鉴于x = 6 and y = 3 ,下表说明了逻辑运算符:

操作者 描述 尝试一下
&& (x < 10 && y > 1)为真 尝试一下 ”
|| 要么 (X 5 === ||ý=== 5)为假 尝试一下 ”
!(x === y)是真 尝试一下 ”

JavaScript的位运算符

位运算符的32位数字工作。 在操作中的任何数字操作数被转换成一个32比特数。 将结果转换回一个JavaScript数。

操作者 描述 与...一样 结果 十进制
X = 5&1 0101 0001 0001 1
| 要么 X = 5 | 1 0101 | 0001 0101
X =〜5 〜0101 1010 10
^ XOR X = 5 ^ 1 0101 ^ 0001 0100 4
<< 左移 X = 5 << 1 0101 << 1 1010 10
>> 右移 X = 5 >> 1 0101 >> 1 0010 2

上面的例子中使用的4位无符号的例子。 但JavaScript使用32位有符号数。

正因为如此,在JavaScript中,〜5将不会返回10它将返回-6。

〜00000000000000000000000000000101将返回11111111111111111111111111111010


typeof运算符

typeof运算符返回一个变量,对象,功能或表达的类型:

typeof "John"                 // Returns string
typeof 3.14                   // Returns number
typeof NaN                    // Returns number
typeof false                  // Returns boolean
typeof [1, 2, 3, 4]           // Returns object
typeof {name:'John', age:34}  // Returns object
typeof new Date()             // Returns object
typeof function () {}         // Returns function
typeof myCar                  // Returns undefined (if myCar is not declared)
typeof null                   // Returns object
试一试»

请注意:

  • 为NaN的数据类型是数
  • 数组的数据类型是对象
  • 日期的数据类型是对象
  • 空的数据类型是对象
  • 未定义的变量的数据类型是未定义的

不能使用的typeof定义如果JavaScript对象是一个数组(or a date)


delete操作符

delete运算符删除一个对象的属性:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
delete person.age;   // or delete person["age"];
试一试»

delete运算符删除属性的两个值和属性本身。

删除后,它再次被加回之前不能使用的属性。

删除操作符被设计成在对象属性中。 它有变量或函数没有影响。

注:delete运算符不应该预先定义的JavaScript对象性质。 它可以引起程序崩溃。


IN操作符

如果指定的属性是在指定的对象,否则为false in运算符返回true:

// Arrays
var cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars          // Returns false (specify the index number instead of value)
0 in cars               // Returns true
1 in cars               // Returns true
4 in cars               // Returns false (does not exist)
"length" in cars        // Returns true  (length is an Array property)

// Objects
var person = {firstName:"John", lastName:"Doe", age:50};
"firstName" in person   // Returns true
"age" in person         // Returns true

// Predefined objects
"PI" in Math            // Returns true
"NaN" in Number         // Returns true
"length" in String      // Returns true
试一试»

instanceof运算符

instanceof运算符,如果指定的对象是指定对象的实例返回true:

var cars = ["Saab", "Volvo", "BMW"];

cars instanceof Array;          // Returns true
cars instanceof Object;         // Returns true
cars instanceof String;         // Returns false
cars instanceof Number;         // Returns false
试一试»

void运算符

空隙运算符计算表达式并返回未定义 。 该运算符通常用于获得未定义原始值,使用“ void(0) ”(不使用的返回值计算表达式时有用)。

<a href="javascript:void(0);">
  Useless link
</a>

<a href="javascript:void(document.body.style.backgroundColor='red');">
  Click me to change the background color of body to red
</a>
试一试»