JavaScript 之 做用域

學習目標:可以說出Javascript的兩種做用域java

                  可以區分全局變量和局部變量es6

                  可以說出如何在做用域鏈中查找變量的值函數

 

1.做用域學習

    <script>
        //1.javaScript做用域:就是代碼名字(變量)在某個範圍內起做用和效果 目的是爲了提升程序的可靠性更重要的是減小命名衝突。
        //2.js的做用域(es6)以前:全局做用域 局部做用域
        //3.全局做用域:整個script標籤 或者是一個單獨的js文件
        var num = 10;
        //4.在函數內部就是局部做用域(函數做用域) 這個代碼的名字只在函數內部起效果和做用
        function fn (){
            //局部做用域
            var num = 20;
        }
    </script>

2.1變量做用域的分類spa

根據做用域的不一樣 變量能夠分爲兩種:code

全局變量blog

局部變量ip

    <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>
相關文章
相關標籤/搜索