javascript运算符优先级题目

作者:norion时间:2012年7月2日评论次数:0 条

请写出下面语句的怎样的执行顺序?

a&&b?c:d||e&&f?g:h;

其实这种题目考的就是javascript的运算符优先级的基础,如果对于优先级的概念不明确,这种题目一靠就倒。虽然说这样的写法很蛋疼,维护起来也不好维护,但是不乏有他的优点存在。

从javascript运算符优先级来看,&&和||的优先级高于?:,所以这道题的答案是:

if(a && b) {
    c
} else { 
    if( d || (e&&f)) {
        g
    } else { 
        h
    }
}

来复习一下javascript的优先级:

运算符 描述
. [] () 字段访问、数组下标、函数调用以及表达式分组
++ — – ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值
* / % 乘法、除法、取模
+ – + 加法、减法、字符串连接
<< >> >>> 移位
< <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof
== != === !== 等于、不等于、严格相等、非严格相等
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 条件
= oP= 赋值、运算赋值
, 多重求值

标签:

上一篇: 用javascript让IE也兼容audio、video

下一篇:解决safari,chrome在写后退的时候的问题

相关文章

评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注