作用域: 使用範圍
全域性變數:宣告的變數是使用var宣告的,那麼這個變數就是全域性變數,全域性變數可以在頁面的任何位置使用
除了函式以外,其他的任何位置定義的變數都是全域性變數
區域性變數:在函式內部定義的變數,是區域性變數,外面不能使用
全域性變數,如果頁面不關閉,那麼就不會釋放,就會佔空間,消耗記憶體
隱式全域性變數:宣告的變數沒有var,就叫隱式全域性變數
全域性變數是不能被刪除的,隱式全域性變數是可以被刪除的
定義變數使用var是不會被刪除的,沒有var是可以刪除的
全域性作用域:全域性變數的使用範圍
區域性作用域:區域性變數的使用範圍
塊級作用域:一對大括號就可以看成是一塊,在這塊區域中定義的變數,只能在這個區域中使用,但是在js中在這個塊級作用域中定義的變數,外面也能使用;
說明:js沒有塊級作用域,只有函式除外
隱式全域性變數:
functionf1(
)f1()
; console.
log(number)
;
隱式全域性變數能被刪除,全域性變數無法刪除:
var num1=10;
num2=20;
delete num1;
//把num1刪除了 全域性變數無法刪除
delete num2;
//把num2刪除了 隱式全域性變數能被刪除
console.
log(
typeof num1)
;//number
console.
log(num1+10)
;//20
console.
log(
typeof num2)
;//undefined
全域性變數在函式內部可以訪問:
var i=0;
while
(i<5)
console.
log(num)
;
區域性變數在函式外部無法訪問:
functionf1(
)f1()
; console.
log(num)
;
作用域 作用域鏈
理解 就是一塊 地盤 乙個 段所在的區域 它是靜態的 相對於上下文物件 在編寫 時就確定了 分類全域性作用域 函式作用域 沒有塊作用域 es6有了 作用隔離變數,不同作用域下同名變數不會有衝突 區別1全域性作用域之外,每個函式都會建立自己的作用域,作用域在函式定義時就已經確定了。而不是在函式呼叫時 ...
作用域和作用域鏈
全域性作用域 全域性的變數執行環境 函式作用域 函式內部的變數執行環境 每個函式都有自己的執行環境,當執行流進入乙個函式時,函式的環境就會被推入乙個環境棧中。函式執行之後,棧將環境彈出,把控制權返回給之前的執行環境。全域性作用域只要頁面不解除安裝,就一直存在,不釋放。函式每次在呼叫時,都會形成乙個作...
作用域和作用域鏈
var a 10 function f1 x,y f1 console.log b 此時b輸出5,因為b 5為隱式的全域性變數 在函式外面使用var 宣告的變數都是全域性變數,作用範圍是程式執行的地方.全域性作用域 函式除外 函式的形參是區域性變數 在函式內部,不使用var 定義的變數,叫隱式全域性...