function fn(n) {
console.log(n);
var n = 2;
}
fn(3);
打印为3
function fn(n) {
console.log(n);
var n = 2;
function n(){}
}
fn(3);
打印为ƒ n(){}
预解析是变量前置输出undefined, 函数前置输出函数体;
那我觉得第一个输出的是undefined , 第二个输出函数体,为什么传了个实参进去后变量前置就变成实参了。这里函数的实参和函数内的预解析是哪个先执行?