Czy zmienne zdefiniowane są wewnątrz funkcji wewnętrznej, która ma taką samą nazwę jak zmienna w zewnętrznej funkcji odizolowanej od zmiennej zewnętrznej?Zamknięcia JavaScript i nazwa clobbering
function() {
var myTest = "hi there";
(function(myTest) {
myTest = "goodbye!";
})();
console.log(myTest); // myTest should still be "hi there" here, correct?
}
Naturalnie gdybym nie zadeklarowaćmyTest
wewnątrz funkcji wewnętrznej byłoby utworzyć zamknięcie i modyfikacji oryginału. Chcę tylko upewnić się, że zmienne zadeklarowane w funkcji wewnętrznej są zawsze odizolowane od tej funkcji, nawet jeśli ich nazwa może kolidować z zewnętrznym zakresem.
Przez „używane” Rozumiem, że masz na myśli „ogłoszony” poprawne? – devios1
@chaiguy: Tak, przepraszam. Wymieszałem trochę moje słowa. – Ryan
ta metoda pozwala również uniknąć wyszukiwania zakresu. –