if(function b(){}){
b();
}
上面语句会报错,因为在执行完if括号里的语句后,b函数就别回收了,下面的b就是未定义的,使用就会报错
console.log(text);//undefined
if(function b(){}){
function text(){
}
}
console.log(text);//text函数
因为在if大括号里定义函数,在预编译时是看作变量声明的 就相当于
var text = function(){}
。所以第一个输出是undefined,第二个输出是text函数源码