Javascript操作符优先级技术问题
Javascript operator precedence technicality
我很难理解在Javascript优先级的第14组中Exponentiation和其他所有内容(乘法,除法等)的组合是什么意思。
Source - MDN
三个问题:
- 将从右到左和从左到右结合在一个基团中是什么意思?
- 表达式2 ** 3 * 4如何根据这些规则改写,并且仍然得到相同的答案?4 * 2 ** 3可以…是这个意思吗?
- 这何时/如何不等同于给予幂运算更高优先级的看似更简单的权宜之计?
1) 2 ** 3 ** 4
是由右向左结合的,因此是2 ** (3 ** 4)
。2 / 3 / 4
由左向右结合,为(2 / 3) / 4
。
2/3)我相信2 ** 3 * 4
是(2 ** 3) * 4
。2 * 3 ** 4
是2 * (3 ** 4)
(由es6fiddle求值)。
这不是从表中得出的;但是求幂应该优先于乘法。在一个优先级中混合从左到右和从右到左是很奇怪的。事实上,据我所知,在ES7草案中,它在语法上与*
, /
和%
完全不同,而是作为一元操作(!)。
还需要注意的是,目前除了Babel和Traceur之外,没有其他引擎支持**
,所以它在这一点上主要是学术性的。MDN是一个wiki,取幂运算符是由一个莫桑比克人添加的;但是由于Mozilla目前不支持**
,它实际上并没有记录Mozilla解释该语言的方式。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- JavaScript中的命名空间技术在JSLint中存在问题
- Javascript操作符优先级技术问题
- 在客户端解决这个问题的正确技术
- 使用分页技术时的SEO问题