JavaScript的其他运算符与优先级
一 三元运算符【exp1?exp2:exp3】
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
/*
//三元运算符的例子
if(exp){
exp为true的代码段;
}else{
exp为false的代码段;
}
exp1?exp2:exp3;
*/
if(3>1){
document.write('aa');
}else{
document.write('bb');
}
document.write('<br/>');
var res=3>1?'aa':'bb';
document.write(res);
document.write('<br/>');
var x=0/0;
var x=123;
res=isNaN(x)?0:x;
alert(res);
</script>
</body>
</html>
二 其他运算符
1.逗号运算符【逗号用来将多个表达式连接为一个表达式,新表达式的值为最后一个表达式的值,多用在变量声明处】
2.void运算符【void运算符用来指明一个表达式无返回结果】
3.typeof运算符【typeof运算符用来返回一个字符串,返回的是操作数的数据类型】
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//逗号表达式的例子
var a, b, c,d;
var i= 1,j= 2,k=3;
var z=(n=1,m=2,p=3);
//alert(z+"\n"+n+"\n"+m+"\n"+p);
//void运算符
//z=void(n=1,m=2,p=3);
//alert(z);
var x;
x=123;
x='king';
x='true';
x=null;
x=undefined;
x=[1,2,3];
alert(typeof x);
</script>
</body>
</html>
三 运算符的优先级
运算符 | 描述 |
---|---|
. [] () | 字段访问,数组下标,函数调用以及表达式分组 |
++ – - ~ ! delete new typeof void | 一元运算符,返回数据类型,对象创建,未定义值 |
* / % | 乘法,除法,取模 |
+ - + | 加法,减法,字符串连接 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于,小于等于,大于,大于等于,instanceof |
== != === !== | 等于,不等于,严格相等,非严格相等 |
& | 按位与 |
^ | 按位异或 |
按位或 | |
&& | 逻辑与 |
?: | 条件 |
=op= | 赋值,运算赋值 |
, | 多重求值 |