定义一个可移植,体积紧凑,加载迅捷的二进制格式为编译目标,而此二进制格式文件将可以在各种平台(包括移动设备和物联网设备)上被编译,然后发挥通用的硬件性能以原生应用的速度运行。 在 web 环境中使用 javascript 以外的语言。
历史 asm.js(Mozilla) https://github.com/dherman/asm.js PNaCl(Google) Portable Native Client https://developer.chrome.com/native-client/nacl-and-pnacl FLT JIT(Apple) https://trac.webkit.org/wiki/FTLJIT
最初的 javascript 解释器 JIT(v8) funtion add(a, b) { return a + b; } var c = add(1 + 2); Typescript/Dart asm.js function add1(x) { x = x | 0; return (x + 1) | 0; }