我们都知道,除法、乘法等操作符的优先级比加法和减法高,例如:
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>