staram się poprawić moje rozumienie globalnej przestrzeni nazw w JavaScript i jestem ciekawy o kilku rzeczach:zrozumienia javascript globalnej przestrzeni nazw i zamknięć
tam jest „Bóg” (czyli rodzic) obiekt, że wszystkie obiekty (ponieważ wszystkie rzeczy oprócz prymitywów są obiektami) do odpowiedzi, a jeśli tak, to obiekt byłby "okno"?
Dlaczego nie jest dobrym pomysłem posiadanie vars/funkcje na poziomie globalnym?
jeśli naprawdę jest złym pomysłem posiadanie vars/funkcji w globalnym zasięgu, to czy zamknięcie byłoby najlepszym sposobem na uniknięcie tego? Przykład:
function parent(){ var x = 'some value';//this var would be considered global to all children functions but not in the true global namespace function child1(){ x.someMethod() } function child2(){ x*something; } function child3(){ x+=something; child2() child1() } child3() } parent()
dla xi ment, że jest globalne funkcjom dzieci, ale nie do globalnego obiektu, co oznacza, że wszystkie funkcje dziecko może uzyskać do niego dostęp bez niego bycie przeszłym jako argumentem – zero
@codewombat: ale normalnie zadeklarowałbyś tylko funkcję w ramach innej funkcji **, ponieważ ** potrzebujesz jej, aby uzyskać dostęp do zmiennych w tym zakresie. – Matt
ponieważ masz funkcję macierzystego wykonywania, jeśli któryś z kodu wykonuje manipulację domem, czy powinien on zostać wywołany na dole węzła body? – zero