fun(); //报错TypeErrorvar a=true;if(a){
function fun() {
console.log("1");
}
}else{
function fun() {
console.log("2");
}
}按书中的说法,由于函数的提升,且不受条件判断控制,应该是输出2的。可是我运行却报错了。
然后我把条件控制去掉,像这样:
fun();//2
function fun() { console.log("1");
}
function fun() { console.log("2");
}果然,输出了2
然后,我把条件语句加上,在最后执行函数,像这样:
var a=true;if(a){
function fun() {
console.log("1");
}
}else{
function fun() {
console.log("2");
}
}fun();//1输出1
谁能解释一下,第一个输出的原理?以及和书上的不一样,是因为浏览器升级了的缘故吗?
qq_慕容0484495
鸿蒙传说
相关分类