Jakiś czas temu usłyszałem, że dobrą praktyką jest zawijanie kodu w duży obiekt, aby służyć jako przestrzeń nazw w celu zmniejszenia zaśmiecania globalnej przestrzeni nazw i ułatwienia eksportu biblioteki, więc spróbowałem tego .Wywołanie metod składowych przed zakończeniem deklaracji obiektu
var wrapper = {
foo: function(){
return 42;
},
bar: this.foo()
};
Zawodzi, twierdząc, że "foo nie jest zdefiniowane". Metody wywoływania przed zakończeniem deklaracji obiektu są prawdopodobnie złe, więc przesunąłem pasek i zadziałało.
var wrapper = {
foo: function(){
return 42;
},
};
wrapper.bar = wrapper.foo();
czuję, że to może stać się rodzajem brzydkie, zwłaszcza z zagnieżdżonych nazw i takich, więc czy są jakieś obejścia, które nie sprawiają, że trudno, aby zobaczyć wszystkich członków owijki za naraz?
Dlaczego trzeba zadzwonić każdy metoda przy deklaracji? Może chcesz użyć funkcji natychmiast wywoływanej (* IEFE *). Sprawdź także * wzorzec modułu *. – Bergi