Я читал о грузоподъемных в Mozilla, и заметил пример, объясняющий, как переменная может протекать за пределами области видимости функции: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var#Initialization_of_several_variablesОбъяснение того, как переменная "протекает"?
пример говорит,
var x = 0;
function f(){
var x = y = 1; // x is declared locally. y is not!
}
f();
console.log(x, y); // 0, 1
// x is the global one as expected
// y leaked outside of the function, though!
Я не понимаю, что происходит здесь. Я ищу техническое объяснение больше всего. Как вы можете получить доступ на улицу на этом этапе?
Редактировать: Я понимаю, как эта функция ведет себя, и я должен прояснить и сказать, что хочу понять, что происходит в коде и памяти (например, указатели и т. Д.).
Потому что это не префикс 'var'. См. Https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var - * «Присвоение значения необъявленной переменной неявно создает его как глобальную переменную» * – Phil