1)性能对功能内部功能的影响2)多个条件下的顺序或流量

时间:2016-11-14 19:09:15

标签: javascript

两个问题:

1)我想知道对上一个函数(LayerTen())的性能影响如下:

function execit(){
  LayerOne();
}
function LayerOne(){
  LayerTwo();
}
// and so on, till:
function LayerNine(){ //thanks for correcting, Mike
  LayerTen();
}

当然,我知道它取决于函数内部的实际内容,但它们的这种结构无论如何都可能导致性能问题?

2)如果多个但是单独的条件如下例所示,它的流程是什么:它们会一次执行还是一个接一个地执行?

if(condition one){
  code
}else{code}
if(condition two){
  code
}else{code}
if(condition three){
  code
}else{code}
// and so on, till:
if(condition thirty){
  code
}else{code}

1 个答案:

答案 0 :(得分:0)

Javascript是单线程的。所以唯一的性能问题是内存消耗。虽然if else不会消耗太多内存,但是一个函数会一直保留在内存中,直到它完全结束:

Function execit(){ 
//memory usage started
LayerOne(); 
//memory is recycled
} 
function   LayerOne(){
//already two opened functions...
 LayerTwo();
 //memory is recycled
 }
 // and so on, till: 
function LayerTen(){
//ten functions in memory
 LayerTen(); 
 //memory recycled
 }

因此它将10个函数放入内存中,然后再循环使用。这会更好:

function start(){
 a();//a is right now recycled
 b();//b is right now recycled
 }

但是,如果可能的话,这取决于您的实际代码......