文章目录
前言
<script>
//1问
console.log(num);
//2问
console.log(num); //undefined 坑1
var num = 10;
//相当于执行下列代码
var num;
console.log(num);
num = 10;
// 3问
fu();
function fn() {
console.log(11);
}
// 4问
fun();//报错 坑2
var fun = function () {
console.log(22);
}
//1.我们js引擎运行js 分为两步:预解析 代码执行
//(2).预解析 js引擎会把js里面所有的var 还有function 提升到当前作用域最前面
//(3).代码执行 按照书写顺序从上往下执行
//2.预解析分为 变量预解析(变量提升)和 函数预解析(函数提升)
//(1)变量提升 就是把所有的变量声明提升到当前作用域最前面 不提升赋值操作
//(2) 函数提升 就是把所的函数声明提升到当前作用域的最前面 不调用函数
</script>