<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>作用域鍊</title>
<script>// 作用域鍊 : 内部函數通路外部函數的變量,采取的是鍊式查找的方式來決定取那個值 這種結構我們稱為作用域鍊 就近原則
var num = 10;
function fn() { // 外部函數
var num = 20;
function fun() { // 内部函數
console.log(num); //20
}
fun();
}
fn();</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>作用域鍊</title>
<script>// 案例1 : 結果是幾?
function f1() {
var num = 123;
function f2() {
var num = 0;
console.log(num); // 站在目标出發,一層一層的往外查找
}
f2();
}
var num = 456;
f1();
// 案例2 :結果是幾?
var a = 1;
function fn1() {
var a = 2;
var b = '22';
fn2();
function fn2() {
var a = 3;
fn3();
function fn3() {
var a = 4;
console.log(a); //a的值 ?
console.log(b); //b的值 ?
}
}
}
fn1();</script>
</head>
<body>
</body>
</html>