1 变量声明提升
通过 var 定义(声明)的变量,在定义语句之前就可以访问到
值:undefined,只是当时的值是undefined
2 函数声明提升(又叫函数提升)
通过 function 声明的函数,在声明语句之前就可以直接调用
值:函数定义(对象)
js中创建函数有两种方式:函数声明式和函数字面量式(又叫函数表达式、匿名函数)。只有函数声明才存在函数提升!如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
console.log(a);
var a = 123;
console.log(a);
</script>
</body>
</html>