<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
<script type="text/javascript">
//1.
// var num = 10;
// fn1();
// function fn1() {
// console.log(num);
// var num = 20;
// }
// 因为局部变量定义了 var num =20 所以不用全局变量 但是局部变量 提前预解析 把var num 提前到输出之前 但是 没有赋值 所以
// 输出 undefined
//2.
// var a = 18;
// fn2();
// function fn2() {
// var b = 9;
// console.log(a);
// console.log(b);
// }
// 因为 全局变量 定义了 var a = 18 所以 console.log(a)输出 18
// 因为 局域变量 定义了 var b = 9 所以输出 console.log 输出 9
//3.
fn3();
console.log(c);
console.log(b);
console.log(a);
function fn3() {
var a = b = c = 9;
console.log(a);
console.log(b);
console.log(c);
}
// 因为局域变量定义了 var a =9 b=9 c = 9 所以第一次输出 9, 9 ,9
// 第二次输出 因为 b =9 c=9 可以用作全局变量 var a =9 在局部定义了 所以 第二次输出 9 ,9 a报错
//4. 思考题
var a = 4;
console.log(a); //4
a = 6;
console.log(a); //6
function a() {
console.log('哈');
}
a(); //哈
a = 10;
console.log(a); //报错
</script>
</html>