操作符优先级
我们都知道,除法、乘法等操作符的优先级比加法和减法高,例如:
var numa=3;
var numb=6
jq= numa + 30 / 2 - numb * 3; // 结果为0
如果我们要改变运算顺序,需添加括号的方法来改变优先级:
var numa=3;
var numb=6
jq= ((numa + 30) / (2 - numb)) * 3; //结果是-24.75
操作符之间的优先级(高到低):
算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
如果同级的运算是按从左到右次序进行,多层括号由里向外。
var numa=3;
var numb=6;
jq= numa + 30 >10 && numb * 3<2; //结果为false
任务
考考大家,先计算下面代码中第10行和第11行语句的结果,然后运行代码,看看结果是否一样。
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml">
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-
<title>操作符优先级</title>
-
<script type="text/javascript">
-
var numa,numb,jq1;
-
numa=5;
-
numb=2;
-
jq1=numa + 30 >10 && numb * 3<20;
-
jq2=((numa + 30) / (7-numb)) * 3
-
document.write("jq1的值是:"+jq1+"<br>");
-
document.write("jq2的值是:"+jq2);
-
</script>
-
</head>
-
<body>
-
</body>
- </html>