同名标识符提升问题: 变量函数同名时 先变量然后函数
console.log(a); // a函数(函数后提升 覆盖了之前提升的变量a)
var a = 20;
function a () {
console.log(100);
};
console.log(a); // 20
var a;
function a () {
console.log(100);
};
a=20;
console.log(a); // 20
变量与变量同名时
console.log(a); // undefined
var a = 10;
console.log(a); // 10
var a = 20;
console.log(a); // 20
函数与函数同名时
function fn() {
console.log(111);
};
function fn() {
console.log(2222);
};
fn(); // 2222
例
var a = 20;
function fn(a) {
console.log(a); // 函数
a = 90;
console.log(a); // 90
var a = 100;
console.log(a); // 100
function a() {
console.log(666);
};
console.log(a); // 100
};
fn(a);