JavaScript中的函数调用有多贵?

时间:2010-01-17 08:25:27

标签: javascript optimization computer-science

我一直在关注其他人的JavaScript代码,我注意到许多程序员倾向于创建可以与调用它们的函数结合起来的函数。一个例子是this; 'initWebGL'函数可以与'start'函数结合使用,它的功能相同。另一个例子是this的源代码,其中函数'tick'(每15毫秒调用一次)调用另外两个函数,这些函数也可以与'tick'结合使用。我理解这个组织的质量,但我很好奇它对性能的影响。是不是这样做,特别是考虑到JavaScript是一种解释型语言?

3 个答案:

答案 0 :(得分:9)

任何语言的最佳做法是首先编写可读和可维护的代码,然后根据需要进行优化。

如果您的程序运行得足够快,可以拆分成易于理解的块,那么请保持这种状态。如果它运行缓慢,那么就像hobodave所提到的那样,找到导致缓慢的原因。

很可能,它会由除了调用函数之外的其他东西引起,但是如果它恰好是由它引起的,那么然后开始将函数组合在一起,一旦你将它追踪到那个

答案 1 :(得分:8)

http://www.slideshare.net/madrobby/extreme-javascript-performance幻灯片10..19

10 000次通话对IE和Firefox产生了影响。 1来电不要。

答案 2 :(得分:4)

了解“昂贵的函数调用”是一种完全模糊且特定于上下文的度量标准的最佳方法是自己对其进行分析: