function change() {
alert(typeof fn) // function
function fn() {
}
var fn
}
change()
为什么不是undefined?
在js中函数的声明 比变量优先级要高
并且定义过程不会被变量覆盖 除非是赋值
//你的代码相当于
function change() {
function fn() {
}
var fn;
alert(typeof fn) // function 不会被覆盖
fn=1;
alert(typeof fn) // 1 会覆盖
}
change()