var fn; // 声明一个变量function fn() { // 声明一个函数} alert(typeof fn); // function
function fn() { // 声明一个函数} var fn; // 声明一个变量alert(typeof fn); // function
无论声明位置先后,function 都是优先于变量声明
var fn=1; // 声明一个变量 function fn() { // 声明一个函数 } alert(typeof fn); // number
function fn() { // 声明一个函数 } var fn=1; // 声明一个变量 alert(typeof fn); // number
这种情况是fn引用改变了造成的