當(dāng)前執(zhí)行函數(shù)在棧頂儡羔,棧頂下面則為調(diào)用該函數(shù)的函數(shù)宣羊,最底下是全局上下文對象,一個頁面只會創(chuàng)建一個汰蜘,當(dāng)瀏覽器關(guān)閉退出調(diào)用棧仇冯。
所以執(zhí)行流程就是,當(dāng)一個函數(shù)被啟用族操,會把它推到棧頂苛坚,然后函數(shù)內(nèi)調(diào)用其他函數(shù),又把其他函數(shù)推到棧頂色难,執(zhí)行完的函數(shù)推出棧
當(dāng)js引擎執(zhí)行一段代碼時開始時會先進(jìn)去創(chuàng)建階段泼舱,創(chuàng)建當(dāng)前上下文的this對象,變量活動對象 會為上下文中的每個變量創(chuàng)建一個同名屬性枷莉,作用域鏈娇昙,然后進(jìn)去執(zhí)行階段,即可以訪問創(chuàng)建的活動對象笤妙。
棧頂函數(shù)可以調(diào)用在他下面的作用域?qū)ο髢?nèi)的所有已有變量