asm.js可否与cpu进行交互

JavaScript045

asm.js可否与cpu进行交互,第1张

如果是按照常规方法尝试获取这些信息的,那就肯定不行,因为JS是没有对应的命令来直接获取这些信息的。

如果需要使用JS获取这些信息,可以通过JS释放一个VB文件,通过该脚本间接获取这些信息,不需要直接提取。VB语言中的一些函数可以用于获取这些信息,并储存在特定的地方;JS自带的XMLHTTP组件则可以在这些地方获取这些数据。所以,在JS中插入“释放VB文件、调用XMLHTTP组件”的命令,就可以间接获取这些数据了。

通过图可以直观的看到区别。asm.js是优化过的JS,它比一般的JS快,但是本质上依然是JS。而WebAssembly是JS的binary格式,比JS文件小很多。它跳过了JS的优化解析过程,可以直接执行,速度自然会快很多。不过WebAssembly的兼容性比asm.js差。目前最新的主流浏览器都已经可以执行WebAssembly。