function g () {
var x;
function y () {};
var z;
}
我想确切地知道上面的代码在提升时变成什么顺序。
理论 1:var s 和functions之间的顺序保持原样:
function g () {
var x;
function y () {};
var z;
}
理论 2: var s 在functions之前:
function g () {
var x;
var z;
function y () {};
}
理论 3: function s 在vars之前:
function g () {
function y () {};
var x;
var z;
}
哪个理论是正确的?