javascript运算符优先级
2015-06-17 15:05
525 查看
var a = {n:1}; a.x = a = {n:2}; alert(a.x);// --> undefined alert(b.x);// --> {n:2}
about这道题答案挺多的,我理解这涉及两个过程即求值过程和运算过程,求值过程都是从左到右,而运算过程有自己的运算顺序
a.x = a = {n:2};
这条语句中a.x a 和 {n:2}分别是三个表达式,需要先对他们求值,然后才会进行赋值操作,求值过程是先于赋值过程的
下表列出了 JavaScript 运算符,并按优先级顺序从高到低排列。 具有相同优先级的运算符按从左至右的顺序计算。 运算符 说明 .[ ] ( ) 字段访问、数组索引、函数调用和表达式分组 ++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义的值 * / % 相乘、相除、求余数 + - + 相加、相减、字符串串联 << >> >>> 移位 < <= > >= instanceof 小于、小于或等于、大于、大于或等于、是否为特定类的实例 == != === !== 相等、不相等、全等,不全等 & 按位“与” ^ 按位“异或” | 按位“或” && 逻辑“与” || 逻辑“或” ?: 条件运算 = OP= 赋值、赋值运算(如 += 和 &=) , 多个计算
相关文章推荐
- Jackson 框架,轻易转换JSON
- javascript 循环遍历绑定事件问题
- js选项卡切换效果
- 读书笔记:编写可维护的javascript
- 高性能javascript 文件加载阻塞
- Js设置服务器找不到图片时,显示一张默认图
- Asp.net MVC CSS/Javascript Bundle 配置文件
- 中国省市 Json 二级联动
- 十大要避免的Ext JS开发方法
- Java抓取网页数据(原来的页面+Javascript返回数据)
- Javascript模块化编程(三):require.js的用法
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(一):模块的写法
- js请求的几种方式
- Selenium2学习-011-WebUI自动化实战实例-009-JavaScript 在 Selenium 自动化中的应用实例之一(赋值)
- js代码实现的简单的天数倒计时
- javascript:window.location.replace 与 window.location.reload() 刷新页面的不同效果
- JS面向对象编程之对象
- javascript 如何设置模式对话框
- javascript:location.reload()和location.replace()的区别,及对图片缓存的影响。