Miałem do czynienia z dokumentami JavaScript var hoisting
, Tam w sekcji znalazłem Initialization of several variables z Example podaną poniżej.Dlaczego inicjalizacja wielu zmiennych prowadzących do wycieku zakresu?
var x = 0;
function f(){
var x = y = 1;
}
f();
console.log(x, y); // outputs 0, 1
// x is the global one as expected
// y leaked outside of the function, though!
Gdzie mogę uzyskać wyjątek jako Uncaught Reference Error: y is not defined
. ale to się nie dzieje z powodu wycieku Scope i wyświetla się 0,1
.
Czy mogę wiedzieć, dlaczego tak się dzieje i co sprawiło, że tak się stało. Wreszcie wszelkie problemy związane z wydajnością?
możliwe duplikat [Czy ustawienie wielu zmiennych w 1 linii obowiązują w javascript? (var x = y = 'value';)] (http://stackoverflow.com/questions/7581439/zestawienia-wielokrotne-zmiany-w1-line-valid-in-javascript-var-xy-value) –
To nie jest pytanie związane z możliwościami 'inicjalizacji wielu zmiennych' ale zmiennymi' Scope' zmienia @torazaburo. –
Dokładniej przeczytaj proponowany duplikat. –