Порядок подъема в JavaScript
function g () {
var x;
function y () {};
var z;
}
Я хотел бы знать точно, в каком порядке приведенный выше код становится при подъеме.
Теория 1: Заказ междуvar
с иfunction
s остается как есть:
function g () {
var x;
function y () {};
var z;
}
Теория 2: var
сесть раньшеfunction
s:
function g () {
var x;
var z;
function y () {};
}
Теория 3: function
сесть раньшеvar
s:
function g () {
function y () {};
var x;
var z;
}
Какая теория верна?