作用域,變數作用域,作用域鏈知識

2021-10-09 10:17:31 字數 1429 閱讀 7042

第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 定義的變數,叫隱式全域性...