我见过一些性能关键的JavaScript代码,比如这个项目上的代码,它广泛使用了按位或运算符与0。例如:
GameBoyAdvanceCPU.prototype.write8 = function (address, data) {
address = address | 0;
data = data | 0;
this.memory.memoryWrite8(address | 0, data | 0);
我知道使用 "|0" 将数字转换为整数,但这里不是这种情况,因为这些始终是整数。它看起来有点像 asm.js,这是为了告诉 js 引擎我们正在使用整数,从而允许进行一些优化吗?如果是这样,哪些浏览器将进行这些优化?
任何关于如何工作的指导都将不胜感激。
"use asm"
实例,这表明这确实应该是asm.js,或者至少曾经是。 - user2357112