第三章 表达式与操作符
3.1 表达式
3.2运算符概述
3.2.1运算符优先级
下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。
运算符 | 描述 |
. [] () | 字段访问、数组下标、函数调用以及表达式分组 |
++ -- - ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义值 |
* / % | 乘法、除法、取模 |
+ - + | 加法、减法、字符串连接 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于等于、大于、大于等于、instanceof |
== != === !== | 等于、不等于、严格相等、非严格相等 |
& | 按位与 |
^ | 按位异或 |
| | 按位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 条件 |
= oP= | 赋值、运算赋值 |
, | 多重求值 |
3.3 算术运算符
除”/“为普通数学除法,不是求商(和python一样),”++“和”--“ 运算符仍然存在
要整除(取商)可以:parseInt(9/2);
eg:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>算术运算符</title>
</head>
<body>
<script language="JavaScript">
var n=9/2;
var y=9%2;
document.writeln("9/2="+n+"<br>");
document.writeln("9%2="+y+"<br>")
document.writeln("n++="+(n++)+"<br>");
document.writeln("n="+n+"<br>");
document.writeln("取商:"+parseInt(9/2));
</script>
</body>
</html>
运行结果:
3.4 比较运算符
比较运算符
比较运算符在逻辑语句中使用,以测定变量或值是否相等。
给定 x=5,下面的表格解释了比较运算符:
运算符 | 描述 | 例子 |
---|---|---|
== | 等于 | x==8 为 false |
=== | 全等(值和类型) | x===5 为 true;x==="5" 为 false |
!= | 不等于 | x!=8 为 true |
> | 大于 | x>8 为 false |
< | 小于 | x<8 为 true |
>= | 大于或等于 | x>=8 为 false |
<= | 小于或等于 | x<=8 为 true |
3.5 逻辑运算符
&& || !
3.6 逐位运算符
& | ^ ~ << >> >>>(补0的右移运算符)
3.7 条件运算符
?:
3.8赋值运算符
= += -= <<= >>>=
3.9其他运算符
3.9.1 逗号运算符
,
3.9.2 新建运算符
new 创建数组或对象
3.9.3 删除运算符
delete用于删除一个对象的属性或数组的某个元素,也可用于取消他们原有的定义。不过js内置对象的属性是不能被删除的。若访问了已经被删除的对象的属性或数组元素,得到的将是未定义的值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>delete</title>
</head>
<body>
<script language="JavaScript">
var a=["张三","李四","王五"];
delete a[0];
for(var i=0;i<a.length;i++){
document.writeln("a["+i+"]="+a[i]+"<br>")
}
</script>
</body>
</html>
运行结果:
3.9.4 typeof运算符
typeof操作符
字符串 | 描述 |
---|---|
undefined | 未定义 |
boolean | 布尔值 |
string | 字符串 |
number | 数值 |
object | 对象或者null或者数组 |
function | 函数 |
3.9.5 void 运算符
主要应用就是获取URL的值,而不会将其显示在页面上。