最大 JavaScript 性能

2025-06-07

最大 JavaScript 性能

封面图片由 Fachstelle für Öffentliche Bibliotheken NRW 在 Flickr 上提供。

如果你和我一样,你可能会经常思考如何让你的软件变得更好。其中一个重要的原因就是将性能提升到极致。今天,我将告诉你高级 JS 开发人员对你隐瞒的性能秘密。

1. 仅限全局变量

阴影会使软件的金属模型变得混乱,而且您经常需要访问在启动项目时未曾预料到的内容。如果您始终重复使用全局命名空间,就可以避免内存混乱。

// instead of 
const a = "Hello";
const b = "World";

// write
a = "Hello";
b = "World";
Enter fullscreen mode Exit fullscreen mode

2. 短变量名

永远不要让变量的长度超过上限,解析时间是现代 JavaScript 中的一个大问题,因此只有当全局命名空间最终已满时,才对变量名使用多个字母。

// instead of 
loginTimeout = 2300;

// write
a = 2300;
Enter fullscreen mode Exit fullscreen mode

3. 不要使用函数

函数是万恶之源!它们不仅会通过间接寻址增加代码的负担,还会降低代码的运行速度。所以,如有疑问,请务必将代码内联化。

// instead of
const substract = (x, y) => x - y;
a = substract(2000, substract(500, 50));

// write
a = 2000 - (500 - 50);
Enter fullscreen mode Exit fullscreen mode

4.setTimeout一路

你经常需要快速完成任务,而同步方法并不适用。最好的办法是用setTimeout调用代替所有循环,这样事件循环就能处理所有事情。

// instead of
let x = 1; 
while (x < 1000) {
  console.log(x);
  x++;
}

// write
x = 1;
const fastLoop = () => {
  console.log(x);
  x++;
  if (x < 1000) setTimeout(fastLoop, 1);
}
fastLoop();
Enter fullscreen mode Exit fullscreen mode

5. 通过以下方式访问对象with

如果你写过大量有意义的 JavaScript 代码,那么你很可能最终会遇到需要深入研究的庞大对象。如果能摆脱这些拖慢你代码速度的点运算符,岂不是更好?点运算符with已经帮你搞定了。解析的代码越少,代码运行速度就越快。

// instead of 
console.log(u.profile.name);
console.log(u.profile.birthday);
console.log(u.profile.town);

// write
with(u.profile) {
  console.log(name);
  console.log(birthday);
  console.log(town);
}
Enter fullscreen mode Exit fullscreen mode

7. 缓存随机性

去下一家桌游商店买一袋骰子。它们能帮你得到随机值,你可以把它们缓存在常量中以备后用。计算随机值相当慢,应该静态地进行。

// instead of 
myRandomNumber = Math.random();

// write
r = 17;
Enter fullscreen mode Exit fullscreen mode

结论

有很多简单的方法可以加速你的代码,即使是初学者也能做到。现在已经是2018年4月1日了,所以我不明白为什么我们要忍受缓慢的软件。

愚人节快乐!

文章来源:https://dev.to/kayis/maximum-javascript-performance-4l65
PREV
平滑 JavaScript
NEXT
如何提升你的开发水平