国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js執(zhí)行環(huán)境的理解

stormgens / 1416人閱讀

摘要:第一個打印的結(jié)果不是當(dāng)調(diào)用時,創(chuàng)建了一個執(zhí)行環(huán)境,該執(zhí)行環(huán)境中,有此時的環(huán)境相當(dāng)于因?yàn)榉祷氐暮瘮?shù)沒有立即在內(nèi)調(diào)用,所以沒有傳入函數(shù)中第二個打印結(jié)果是調(diào)用,創(chuàng)建這個匿名函數(shù)的環(huán)境,先在這個環(huán)境中找但是沒有。進(jìn)入它的上級環(huán)境,是,環(huán)境中有。

var compose=function(a,b){
    return function(){
        return a+b
    }
}
var g=1
var h=1
var f=compose(g,h)
console.log(f)    // function () {return a + b;}
console.log(f())  // 2

Q:第一個打印的結(jié)果不是function () { return 3};

A:當(dāng)調(diào)用compose時,創(chuàng)建了一個執(zhí)行環(huán)境E1,該執(zhí)行環(huán)境中,有a=1,b=1;此時的環(huán)境相當(dāng)于:

a=1,b=1;
function(){return a+b}

因?yàn)榉祷氐暮瘮?shù)沒有立即在compose內(nèi)調(diào)用,所以a=1,b=1沒有傳入函數(shù)中

Q:第二個打印結(jié)果是 2?

A:f();調(diào)用function(){return a+b},創(chuàng)建這個匿名函數(shù)的環(huán)境E2,先在這個環(huán)境中找a,b.但是沒有。進(jìn)入它的上級環(huán)境,是E1,E1環(huán)境中有a=1,b=1。所以結(jié)果是2.

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/88062.html

相關(guān)文章

  • javascript引擎執(zhí)行過程理解--語法分析和預(yù)編譯階段

    摘要:所以覺得把這個執(zhí)行的詳細(xì)過程整理一下,幫助更好的理解。類似的語法報(bào)錯的如下圖所示三預(yù)編譯階段代碼塊通過語法分析階段之后,語法都正確的下回進(jìn)入預(yù)編譯階段。另開出新文章詳細(xì)分析,主要介紹執(zhí)行階段中的同步任務(wù)執(zhí)行和異步任務(wù)執(zhí)行機(jī)制事件循環(huán)。 一、概述 js是一種非常靈活的語言,理解js引擎的執(zhí)行過程對于我們學(xué)習(xí)js是非常有必要的。看了很多這方便文章,大多數(shù)是講的是事件循環(huán)(event loo...

    molyzzx 評論0 收藏0
  • javascript系列--javascript引擎執(zhí)行過程理解--語法分析和預(yù)編譯階段

    摘要:所以覺得把這個執(zhí)行的詳細(xì)過程整理一下,幫助更好的理解。類似的語法報(bào)錯的如下圖所示三預(yù)編譯階段代碼塊通過語法分析階段之后,語法都正確的下回進(jìn)入預(yù)編譯階段。另開出新文章詳細(xì)分析,主要介紹執(zhí)行階段中的同步任務(wù)執(zhí)行和異步任務(wù)執(zhí)行機(jī)制事件循環(huán)。 一、概述 js是一種非常靈活的語言,理解js引擎的執(zhí)行過程對于我們學(xué)習(xí)js是非常有必要的。看了很多這方便文章,大多數(shù)是講的是事件循環(huán)(event loo...

    malakashi 評論0 收藏0
  • 形象化模擬作用域鏈,深入理解js作用域、閉包

    摘要:至此作用域鏈創(chuàng)建完畢。好了,通過深入理解作用域鏈,我們能跟好的理解的運(yùn)行機(jī)制和閉包的原理。 前言 理解javascript中的作用域和作用域鏈對我們理解js這們語言。這次想深入的聊下關(guān)于js執(zhí)行的內(nèi)部機(jī)制,主要討論下,作用域,作用域鏈,閉包的概念。為了更好的理解這些東西,我模擬了當(dāng)一個函數(shù)執(zhí)行時,js引擎做了哪些事情--那些我們看不見的動作。 關(guān)鍵詞: 執(zhí)行環(huán)境 作用域 作用域鏈 變...

    txgcwm 評論0 收藏0
  • 還是不明白JavaScript - 執(zhí)行環(huán)境、作用域、作用域鏈、閉包嗎?

    摘要:所以,全局執(zhí)行環(huán)境的變量對象始終都是作用域鏈中的最后一個對象。講到這里,可能你已經(jīng)對執(zhí)行環(huán)境執(zhí)行環(huán)境對象變量對象作用域作用域鏈的理解已經(jīng)他們之間的關(guān)系有了一個較清晰的認(rèn)識。 JavaScript中的執(zhí)行環(huán)境、作用域、作用域鏈、閉包一直是一個非常有意思的話題,很多博主和大神都分享過相關(guān)的文章。這些知識點(diǎn)不僅比較抽象,不易理解,更重要的是與這些知識點(diǎn)相關(guān)的問題在面試中高頻出現(xiàn)。之前我也看過...

    jlanglang 評論0 收藏0
  • 深入貫徹閉包思想,全面理解JS閉包形成過程

    摘要:下面我們就羅列閉包的幾個常見問題,從回答問題的角度來理解和定義你們心中的閉包。函數(shù)可以通過作用域鏈相互關(guān)聯(lián)起來,函數(shù)內(nèi)部的變量可以保存在其他函數(shù)作用域內(nèi),這種特性在計(jì)算機(jī)科學(xué)文獻(xiàn)中稱為閉包。 寫這篇文章之前,我對閉包的概念及原理模糊不清,一直以來都是以通俗的外層函數(shù)包裹內(nèi)層....來欺騙自己。并沒有說這種說法的對與錯,我只是不想擁有從眾心理或者也可以說如果我們說出更好更低層的東西,逼格...

    snowell 評論0 收藏0
  • js閉包理解

    摘要:一般來講,函數(shù)執(zhí)行完畢后,局部活動對象就會被銷毀,內(nèi)存中僅保存全局作用域,但是閉包的情況有所不同理解閉包的前提先理解另外兩個內(nèi)容作用域鏈垃圾回收作用域鏈當(dāng)代碼在執(zhí)行過程中,會創(chuàng)建變量對象的一個作用域鏈。 閉包是javascript語言的一個難點(diǎn),也是它的特色,很多高級應(yīng)用都要依靠閉包來實(shí)現(xiàn)。個人的理解是:函數(shù)中嵌套函數(shù)。 閉包的定義及其優(yōu)缺點(diǎn) 閉包是指有權(quán)訪問另一個函數(shù)作用域中的變量的...

    EasonTyler 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<