一、作用域:變數可以起作用的范圍,有全域作用域和區域作用域兩種,
二、全域變數和區域變數
全域變數:在任何地方都能訪問到的變數,對應全域作用域;網頁內所有腳本和函式都能夠訪問全域變數,
區域變數:只在固定代碼段中可訪問到的變數,最常見的例如函式內部,對應區域作用域,
注意:1.在Javascript中,物件和函式也是變數;
2.未使用var宣告的變數是全域變數,不推薦使用;
3.變數退出作用域之后會銷毀,全域變數關閉網頁或瀏覽器才會銷毀,
4.全域作用域形成了完整的Javascript環境,在html中,全域作用域是window,所有全域變數均屬于window物件,
5.除非有意為之,否則請勿創建全域變數,全域變數(或函式)能夠覆寫window變數(或函式),任何函式,包括window物件,能夠覆寫你的全域變數和函式,
三、塊級作用域
任何一對花括號中的陳述句集都屬于一個塊,在這之中定義的所有變數在代碼塊外都是不可見的,這就是塊級作用域,在es5之前沒有塊級作用域的概念,只有函式作用域,
四、作用域鏈
只有函式可以制造作用域結構,那么只要是有代碼,至少有一個作用域,那就是全域作用域,凡是代碼中有函式,那么這個函式就構成另一個作用域,叫1級作用域,這時候全域作用域又叫0級作用域,如果函式中還有函式,那么就以此類推,2級,3級....沒有限制,
將這樣的所有的作用域列出來,可以有一個結構:函式內部指向函式外的鏈式結構,就稱作作用域鏈,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/167469.html
標籤:JavaScript
上一篇:JS基礎語法----Math物件
