<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          JavaScript作用域

          2021-9-30    前端達人

          • 作用域簡介

          • JavaScript 作用域:就是代碼名字,在某個范圍內起的作用和效果。目的是為了提高程序的可靠性,減少命名沖突;

          • 作用域是可訪問變量的集合。

          • 在 JavaScript 中, 對象和函數同樣也是變量。

          • 在 JavaScript 中, 作用域為可訪問變量,對象,函數的集合。

          • JavaScript 函數作用域: 作用域在函數內修改。

          •  變量的作用域:根據作用域的不同我們的變量可以分為全局變量和局部變量

          • 局部作用域

            
                                
            1. function fn() {
            2.     var str = '我是一個局部作用域';
            3. }
            4. console.log(str);    // 這時是訪問不到的
            5. // 局部變量:在局部作用域下的變量   或者在函數內部的變量就是局部變量
            6. // 注意:函數的形參也可以看做是局部變量
            7. function fun(aru) {
            8.     var num1 = 50; // num1就是局部變量  只能在函數內部使用
            9.     console.log(num1); // 在這里使用是正確的 但是在函數外面使用報錯
            10.     num2 = 70;
            11.     console.log(num2); // num2在這里可以正常輸出
            12.     console.log(aru);
            13.     // 首先在fun括號里面傳入一個hello 然后在函數內部輸出是正確的但是在函數外部輸出是錯誤的
            14. }
            15. //fun(); 
            16. fun('hello');
            17. //console.log(num1);// 報錯 num1是局部變量
            18. console.log(num2); // 這里可以輸出num2是因為num2是特殊的全局變量
          • 全局作用域:

            全局變量:在全局作用域下的變量稱為全局變量,在全局下都可以使用
            // 注意:如果在函數內部沒有聲明直接賦值的變量也屬于全局變量
             

            
                                
            1. var num = 10; //num就是一個全局變量
            2. console.log(num);
            3. function fn() {
            4.     console.log('全局變量在函數內部也可以使用' + num);
            5. }
            6. fn();
          • 作用域鏈

          • 作用域鏈:內部函數訪問外部函數的變量,采取的是鏈式查找的方式決定取哪個值 這種結構我們稱為作用域鏈 就近原則

          • 
                                
            1. var num = 10;
            2. function fn() { //外部函數
            3.     var num = 20;
            4.     function fun() { //內部函數
            5.         console.log(num);
            6.     }
            7.     fun();
            8. }
            9. fn();
          • 作用域鏈總結:

          • 內部函數訪問外部函數的時候,采取的是鏈式查找的方式,一層一層往外查找

          • 先是查找外一層,有沒有,沒有在往外接著查找,找到了我就輸出相應的結果

          • 沒有的話繼續往上找就可以了,所以這個方法,我們稱為作用域鏈

          • 簡單總結就是就近原則,誰離我近我就執行誰


          藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

          分享此文一切功德,皆悉回向給文章原作者及眾讀者.

          轉自:csdn
          免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合