所以我一直在用JavaScript编写游戏(不是网页游戏,使用游戏引擎,其中JavaScript恰好是脚本语言)。不幸的是,游戏引擎的JavaScript引擎是SpiderMonkey的一个古老版本,它运行我的游戏有点慢。虽然它不是非常慢,但它足够慢,我决定做一些优化。
我知道一些基本的优化,比如使用局部变量而不是全局变量(这无论如何都是个好主意),使用前缀而不是后缀增量/减量,倒计时而不是循环中,但是什么是更好的JavaScript优化?
答案 0 :(得分:2)
您是否尝试过Closure Compiler而不是弄乱源代码?它是一个从javascript到javascript的编译器,可以进行一些优化。主要是尺寸,但结果js也经常运行得更快。不知道优化是否与V8相关。
答案 1 :(得分:1)
我不知道你的代码是如何构造的,但是我们可以说它的部分内容存在于经常运行的函数或循环中:
if()
替换? :
e.g。
if (expr) a = 1;
else a = 2;
变为
a = expr ? 1 : 2;
if()
转换为switch()
substr()
,substring()
或slice()
检查哪一个更快(在嵌入式浏览器上我
曾经注意到因素3)的差异。但要注意他们的参数!eval()
非常缓慢(除了它是邪恶的事实)如果代码难以阅读,请写评论。