如果用预编译来推的话。if判断里面的可以正确的推出来,但是外面这个打印出来的是1,又和预编译的不符合,这个时怎么编译的
var a = 0
if(true) {
a = 1;
function a() {};
a = 21;
console.log(a); //21
}
console.log(a); //1
js 是解释型语言的吧,没有所谓的编译这个流程的吧。