您好,登錄后才能下訂單哦!
本篇內容主要講解“JS的基礎知識點整理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“JS的基礎知識點整理”吧!
有時也叫環境,是JavaScript中最為重要的一個概念,執行環境定義了變量或函數有權訪問的其他數據。
每一個執行環境都有一個與之關聯的變量對象,環境中定義的所有的變量和函數都保存在這個的對象中。
代碼在環境中執行時,會創建變量對象的作用域鏈,保證對執行環境有權訪問的所有變量和函數的有序訪問。作用域鏈的前端,始終是當前執行代碼所在環境的變量對象。
如果當前執行環境是函數,則將活動對象作為變量對象。
1)全局代碼:例如加載外部的JS文件或者本地標簽內的代碼,全局代碼不包括function體內的代碼;
2)函數代碼:function體內的代碼;
3)eval代碼:eval()函數計算某個字符串,并執行其中的JS代碼,比如eval("alert('helloworld')")。
在一個JS程序中,必定會產生多個執行上下文,JS引擎會以棧的方式來處理它們,也就是執行上下文棧。
JS是一種沒有塊級作用域的語言(包括if、for等語句的花括號代碼塊或者單獨的花括號代碼塊都不能形成一個局部作用域),所以js的局部作用域的形成有且只有函數的花括號內定義的代碼塊形成的,既函數作用域。
是作用域規則的實現,通過作用域鏈的實現,變量在它的作用域內可被訪問,函數在它的作用域內可被調用。
作用域鏈是一個只能單向訪問的鏈表,這個鏈表上的每個節點就是執行上下文的變量對象,單向鏈表的頭部(可被第一個訪問的節點)始終都是當前正在被調用執行的函數的變量對象(活動對象),尾部始終是全局活動對象。
函數對象可以通過作用域鏈相互關聯起來,函數體內的數據(變量和函數聲明)都可以保存在函數作用域內,這種特性在計算機科學文獻中被稱為“閉包”。
從技術角度來說,JS的函數都是閉包:函數都是對象,都關聯到作用域鏈,函數內數據都被保存在函數作用域內。
到此,相信大家對“JS的基礎知識點整理”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。