學習目標:能夠說出Javascript的兩種作用域
能夠區分全域變數和區域變數
能夠說出如何在作用域鏈中查找變數的值
1.作用域
<script>
//1.javaScript作用域:就是代碼名字(變數)在某個范圍內起作用和效果 目的是為了提高程式的可靠性更重要的是減少命名沖突,
//2.js的作用域(es6)之前:全域作用域 區域作用域
//3.全域作用域:整個script標簽 或者是一個單獨的js檔案
var num = 10;
//4.在函式內部就是區域作用域(函式作用域) 這個代碼的名字只在函式內部起效果和作用
function fn (){
//區域作用域
var num = 20;
}
</script>
2.1變數作用域的分類
根據作用域的不同 變數可以分為兩種:
全域變數
區域變數
<script>
//變數的作用域:根據作用于的不同我們變數分為全域變數和區域變數
//1.全域變數:在全域作用域下的變數,在全域下都可使用
// 注意:如果在函式內部 沒有宣告直接賦值的變數也屬于全域變數
var num = 10; //num就是一個全域變數
console.log(num);
function fn(){
console.log();
var num = 10;
}
//2.區域變數 在區域作用域下的變數 后者在函式內部的變數就是 區域變數
//注意函式的形參也可以看作區域變數
3.從執行效率來看全域和區域
//(1)全域變數只有在記憶體關閉的時候才會銷毀,比較占記憶體資源
//(2)區域變數當我們程式執行完畢就會銷毀比較節約記憶體資源
</script>
3.作用域鏈(很簡單)就近原則
<script>
//作用域鏈:內部函式訪問外部函式的變數,采取的是鏈式查找的方式來決定取哪個值,這種結構我們稱之為作用域鏈
// 鏈式查找 就近原則
var num = 10;
function fn(){//外部函式
var num = 20;
function fun(){//內部函式
console.log(num);
}
}
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/79804.html
標籤:JavaScript
