execJS


ES 5.1ES 6execJS


我们来看看如使用它运行一段 JavaScript 代码。首先,我来写一段递归版的 JavaScript 代码计算斐波那契数列:



直接在浏览器上面运行的效果如下:


1.png



Goja



接下来我们在 Go 中运行 js 代码:



运行效果如下图所示:


2.png



我们来解释一下上面代码的意思。请大家关注截图中的代码行号。第19行,我们创建了一个 JavaScript 的虚拟机。然后在第20行,把这个函数加载到了虚拟机当中。


int32int32


fib


第31行,我们像调用普通的 Go 函数一样传入参数,然后获得结果。


Goja


参考文献


[1] Goja: 


请关注微信公众号【未闻Code】获取更多精彩文章。