c(); //5
var c=3;
function c(){
console.log(5);
}
c(); //报错
为什么下面这个c要报错。
你的代码相当于下面这样
var c = function(){
console.log(c);
};
c = 3;
c(); //将报错,此时c是一个变量了
var变量提升,此时
var c;
function c(){
}
c();//此时c定义为函数,随意不会报错
c=3;//此时c的类型是number
c();//此时c的类似是number,提升找不到这个function