console.log(typeof a) // "function"
function a() {}
var a = 1
结论:
- 预处理时,变量和函数的优先顺序,先变量后函数。当变量名和函数名一致时后者会覆盖前者
- 只提升了声明,没有提升赋值
var a
function a() {}
console.log(typeof a)
a = 1
var c = 1
function c(c){
console.log(c)
var c = 3
}
c(2)//c is not a function
//等价于
var c
function c(c){
console.log(c)
var c = 3
}
c = 1
c(2)