2013-12-25 3 views
-4

Какой пример ниже - лучший способ вызвать функции, организовать код в JavaScript? Один из способов занимает больше памяти, времени и т. Д., Чем другой?Предпочтительный/лучший способ вызова функций?

Пример 1:

function one() { 
    console.log("stuff"); 
    two(); 
} 

function two() { 
    console.log("stuff"); 
    three(); 
} 

function three() { 
    console.log("stuff"); 
} 

one(); 

Пример 2:

function one() { 
    console.log("stuff"); 
} 

function two() { 
    console.log("stuff"); 
} 

function three() { 
    console.log("stuff"); 
} 

one(); 
two(); 
three(); 
+2

Это зависит от ваших потребностей. Второй пример позволяет вам вызывать каждую функцию самостоятельно, первая - связывает их. – Barmar

+2

Первый метод использует больше пространства стека. – Barmar

+0

Значение другое. В этом маленьком примере это может выглядеть одинаково, и в этом случае результат будет таким же, но значение другое. В коде * real * вы будете знать, когда один подход подходит к проблеме, а другой - нет. В любом случае нет проблемы * с «памятью» или «временем». – user2864740

ответ

4

Разница между этими двумя подходами является то, что в первом примере, каждый раз при вызове функции один() вы вынуждаете цепочку вызовов до двух(), а затем до трех(), поэтому они все связаны, во втором примере вы их разделили, и поэтому вы можете их разделить отдельно. Если каждая из функций инкапсулирует логику, которая является автономной, лучше избегать примера 1, и это даст вам возможность повторно использовать код в функции два и три.

С точки зрения примера памяти один интенсивный объем памяти, так как в определенный момент, когда вы приходите к функции три(), стек памяти будет один -> два -> три, а в примере два никогда не будет больше один вызов функции в стеке памяти.

Смежные вопросы