Javascript 功能定位对整体性能的影响
我有一个相当大的javascript应用程序,正在尝试优化性能。如果我有一个循环,它将执行一个小函数数千次,那么将小函数远离调用函数(代码方面)是否会影响性能?谢谢。在循环中声明函数或在每次迭代后调用函数没有区别。我被教导,每个函数和变量根据其大小在指定位置的RAM中创建其空间。Javascript知道函数或变量在内存中的位置,因为我们给它指定了一个类似Javascript 功能定位对整体性能的影响,javascript,performance,Javascript,Performance,我有一个相当大的javascript应用程序,正在尝试优化性能。如果我有一个循环,它将执行一个小函数数千次,那么将小函数远离调用函数(代码方面)是否会影响性能?谢谢。在循环中声明函数或在每次迭代后调用函数没有区别。我被教导,每个函数和变量根据其大小在指定位置的RAM中创建其空间。Javascript知道函数或变量在内存中的位置,因为我们给它指定了一个类似foo的名称 for(var i = 0; i < 1000; i++) foo(i); ... Your 300 lines funct
foo
的名称
for(var i = 0; i < 1000; i++) foo(i);
... Your 300 lines
function foo(i) {
document.body.innerHTML += i+"<br />";
}
(变量i=0;i<1000;i++)foo(i);
... 你的300行
功能foo(i){
document.body.innerHTML+=i+“”; } 或
for(变量i=0;i<1000;i++){
document.body.innerHTML+=i+“
”;
}
你可以用你喜欢的方式。声明的函数在内存中有固定的位置,因此可以从任何地方调用。如果它位于欧洲,你也可以从欧洲打电话给它。有多远?我只是想知道…如果距离超过1000行,最好将函数移到函数调用附近。当然,这是为了支持IE。否则它对符合标准的浏览器中的函数调用没有影响。您的循环在美国,函数在欧洲吗?因为那太远了。我猜大概有300行。ThanksNo函数位置在行中并不重要。但是,如果函数在闭包级别方面远远不够。这可能会导致一些性能问题。但是,在大多数情况下,这仍然是可以忽略不计的。谢谢你真正回答了这个问题,包括欧洲的评论;)如果OP在欧洲就不会有问题了。。。电话是在工作时间后还是在工作时间内?哎呀,更不用说时区问题了。@icedwater当然是在工作时间。他的工作是在服务器打开之前一直使用服务器。这些脚本强制服务器关闭,以便它们可以休息一段时间。
for(var i = 0; i < 1000; i++) {
document.body.innerHTML += i+"<br />";
}