Pytanie w języku JavaScript - które z poniższych jest najlepsze w praktyce i jest przyjazne dla wydajności, również mile widziane są wszelkie inne sugestie. To jest najprostsza wersja oryginalnego projektu. Będzie ponad 20 zmiennych i ponad 10 wewnętrznych funkcji (np. "Proces" w przypadku).Javascript - Argumenty Vs Funkcje zagnieżdżone Vs Wydajność
Zaletą metody 1 jest to, że nie musi wysyłać argumentów do funkcji, ale ponieważ łączy wszystkie funkcje wewnątrz głównej funkcji (ewentualnie regeneruje całą wewnętrzną funkcję dla każdego wystąpienia Foo). Chociaż metoda 2 jest wolna od zagnieżdżania funkcji, ale wymaga wielu argumentów. Zauważ, że będzie także wiele instancji konstruktora Foo.
Metoda 1:
function Foo() {
var a = 1;
var b = 2;
var c = (a+b)/2;
var $element = $('#myElement');
var process = function(){
var x = a+b+c;
$element.css('left', x)
return x;
}
x = process();
}
Metoda 2:
function Foo() {
var a = 1;
var b = 2;
var c = (a+b)/2;
var $element = $('#myElement');
x = process (a, b, c, $element);
}
function process (a, b, c, $element){
$element.css('left', x)
return x;
}
Tak, funkcje rozdzielone mają lepszą wydajność nawet przy większej liczbie argumentów. Dziękuję za odpowiedź. – user1106995