您好,登錄后才能下訂單哦!
這篇文章主要介紹“Js怎么存儲執行上下文”,在日常操作中,相信很多人在Js怎么存儲執行上下文問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Js怎么存儲執行上下文”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、執行上下文存在于數據棧中。該棧保存代碼運行是創建的所有上下文。
棧的特點是后進先出,每創建一個新的上下文,就會壓入棧的頂部。當函數執行完成時,上下文從棧中彈出,控制過程到達棧中的下一個上下文。
2、當js引擎第一次觸摸腳本時,它將創建一個全局的上下文,并將其壓入棧中。
實例
// 創建全局上下文,入上下文執行棧 var name = 'globalName'; function F1() { // 第一階段進行后 // 這里this指向window // name被創建,但是未賦值 //F2被創建并且引用 console.log(name); // 那么這里應該是undefined console.log(F2); // 這里應該是 F2 var name = 'f1ame'; // 再此之后,則name可以訪問到 function F2(argumentName) { console.log(argumentName); } // 創建F2上下文,入上下文執行棧 同理 F2(name); //F2 出棧 console.log(sex); //sex未創建,未賦值,且作用域鏈中也沒有,所以報錯 sex not defined } // 創建F1上下文,入上下文執行棧 F1(); // F1出棧 // 全局上下文出棧
到此,關于“Js怎么存儲執行上下文”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。