浏览器解析js代码至少会经过两个过程,预解析和逐步执行
预解析:找东西var,function,如果找到var,会在内存中存储变量没有值,function则会存储整个函数
逐步执行:逐行执行代码
console.log(a); //undefined 不会报错 找到var存储了变量a,但是没有赋值默认为undefined
var a = 10; //给内存中的a赋值10
console.log(a); //10
//2.function
console.log(sum); //整个函数,找到函数会将整个函数都存储在内存中
sum(); //存储了整个函数,因此可以在前面调用
function sum() {
console.log(10+20);
}