這篇文章主要介紹了Js存儲(chǔ)執(zhí)行上下文的方法的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Js存儲(chǔ)執(zhí)行上下文的方法文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
創(chuàng)新互聯(lián)建站是一家專業(yè)從事網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)建站依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開(kāi)發(fā)服務(wù)!
1、執(zhí)行上下文存在于數(shù)據(jù)棧中。該棧保存代碼運(yùn)行是創(chuàng)建的所有上下文。
棧的特點(diǎn)是后進(jìn)先出,每創(chuàng)建一個(gè)新的上下文,就會(huì)壓入棧的頂部。當(dāng)函數(shù)執(zhí)行完成時(shí),上下文從棧中彈出,控制過(guò)程到達(dá)棧中的下一個(gè)上下文。
2、當(dāng)js引擎第一次觸摸腳本時(shí),它將創(chuàng)建一個(gè)全局的上下文,并將其壓入棧中。
實(shí)例
// 創(chuàng)建全局上下文,入上下文執(zhí)行棧 var name = 'globalName'; function F1() { // 第一階段進(jìn)行后 // 這里this指向window // name被創(chuàng)建,但是未賦值 //F2被創(chuàng)建并且引用 console.log(name); // 那么這里應(yīng)該是undefined console.log(F2); // 這里應(yīng)該是 F2 var name = 'f1ame'; // 再此之后,則name可以訪問(wèn)到 function F2(argumentName) { console.log(argumentName); } // 創(chuàng)建F2上下文,入上下文執(zhí)行棧 同理 F2(name); //F2 出棧 console.log(sex); //sex未創(chuàng)建,未賦值,且作用域鏈中也沒(méi)有,所以報(bào)錯(cuò) sex not defined } // 創(chuàng)建F1上下文,入上下文執(zhí)行棧 F1(); // F1出棧 // 全局上下文出棧
關(guān)于“Js存儲(chǔ)執(zhí)行上下文的方法”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Js存儲(chǔ)執(zhí)行上下文的方法”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。