第2章 變數作用域
第3章 作用域鏈
預覽
// 1.全域性作用域: 整個script標籤下 或者是單獨的js檔案(外部js)
// 2.區域性作用域也叫(函式作用域):在函式內部就是區域性作用域 這個**的名字(變數)只在函式內部起作用和效果;
// 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同變數名,執行的是最後一行變數名, 就近一行;
var num =10;
// 這個在num變數在script標籤裡-屬於全域性作用域
functionfn(
)// 舉個例子:
// 全域性作用域
var a =10;
var a =40;
var a =50;
console.
log(a)
;// 區域性作用域
functionfn(
)fn()
;//4.作用域的主要目的是提高了程式的可靠性,更重要的是減少命名衝突!
<
/script>
// 1.全域性變數:在全域性作用域下的變數,在全域性下都可以使用;
// 特殊注意重點:如果在函式內部 沒有宣告直接賦值的變數也屬於全域性變數,開發中不建議使用,但是要清楚!
var num =10;
// num就是乙個全域性變數
console.
log(num)
;// 10
functionfn(
)fn()
;// 2.區域性變數: 在區域性作用域下的變數 後者在函式內部的變數就是 區域性變數;
// 特殊注意重點:函式的形參是區域性變數不是全域性變數!
function
fun(aru)
fun();
// console.log(num1); // 未定義
// console.log(num2); // 20
// console.log(aru) // 形參列印 未定義
<
/script>
// 站在目標出發,一層一層往外查詢
var num =10;
functionfn(
)fun()
;}fn(
);// 例1:
functionf1(
)f2()
;}var num =
456;f1(
);//例2:
functionfn(
)}}fn
();<
/script>
作用域 作用域鏈
理解 就是一塊 地盤 乙個 段所在的區域 它是靜態的 相對於上下文物件 在編寫 時就確定了 分類全域性作用域 函式作用域 沒有塊作用域 es6有了 作用隔離變數,不同作用域下同名變數不會有衝突 區別1全域性作用域之外,每個函式都會建立自己的作用域,作用域在函式定義時就已經確定了。而不是在函式呼叫時 ...
作用域和作用域鏈
全域性作用域 全域性的變數執行環境 函式作用域 函式內部的變數執行環境 每個函式都有自己的執行環境,當執行流進入乙個函式時,函式的環境就會被推入乙個環境棧中。函式執行之後,棧將環境彈出,把控制權返回給之前的執行環境。全域性作用域只要頁面不解除安裝,就一直存在,不釋放。函式每次在呼叫時,都會形成乙個作...
作用域和作用域鏈
var a 10 function f1 x,y f1 console.log b 此時b輸出5,因為b 5為隱式的全域性變數 在函式外面使用var 宣告的變數都是全域性變數,作用範圍是程式執行的地方.全域性作用域 函式除外 函式的形參是區域性變數 在函式內部,不使用var 定義的變數,叫隱式全域性...