第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

web前端面試一道面試題

web前端面試一道面試題

HUWWW 2018-07-31 12:23:50
今天面試的時(shí)候一道面試題,大概是這樣的,感覺自己很繞,希望大家?guī)臀铱聪隆Vx謝。問題是下面會(huì)輸出3次1嗎,如果不會(huì),能修改使其實(shí)現(xiàn)嗎?function newFun(a){        return function(a){            console.log(a)        }    }function fun(a) {    console.log(a)    newFun((a)=>{        console.log(a)    })}fun(1)
查看完整描述

5 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

肯定不會(huì)輸出3個(gè)1,首先箭頭函數(shù)當(dāng)參數(shù)并沒有執(zhí)行,其次箭頭函數(shù)里執(zhí)行后的a值也需要返回出來,不然是undefined,可以把這樣來看a是從哪兒來的:

function newFun(a){

        console.log(`C: ${a}`);

        return function(j){

            console.log(`D: ${j}`);

        }

    }

    function fun(a) {

        console.log(`A: ${a}`);

        newFun(((i)=>{

            console.log(`B: ${i}`);

            return i;

        })(a))(a)

    }

    fun(1)


查看完整回答
反對(duì) 回復(fù) 2018-08-04
?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

當(dāng)然不會(huì)了,人肉單步一下就知道了,跳過聲明,從fun(1)進(jìn)入,請(qǐng)跟著序號(hào)走

function newFun(a) {  // 2-1: 調(diào)用newFun,參數(shù)為剛剛的箭頭函數(shù)

    return function(a) {  // 3: 返回一個(gè)匿名函數(shù),這個(gè)匿名函數(shù)接受并打印參數(shù)a

        console.log(a);

    }

    // 4-0: 函數(shù)newFun結(jié)束

}


function fun(a) {  // 0-1: 調(diào)用fun,參數(shù)1

    console.log(a);  // 1: 打印a,即參數(shù)1

    newFun(a => {  // 2-0: 調(diào)用newFun,參數(shù)為一個(gè)箭頭函數(shù)(注意這個(gè)函數(shù)是作為參數(shù)被聲明的,此時(shí)這個(gè)函數(shù)還沒有被調(diào)用)

        console.log(a);

    });

    // 4-1: 函數(shù)newFun的調(diào)用已經(jīng)結(jié)束,并且它返回了一個(gè)匿名函數(shù),但這個(gè)匿名函數(shù)沒有被一個(gè)變量接收

    // 5-0: 函數(shù)fun的調(diào)用已經(jīng)結(jié)束,該函數(shù)沒有返回任何值

}


fun(1);  // 0-0: 調(diào)用fun,參數(shù)1

// 5-1: 函數(shù)fun的調(diào)用已經(jīng)結(jié)束,腳本結(jié)束

可以看出從頭到尾只打印了一次1,只有函數(shù)fun中的第一個(gè)console.log(a)會(huì)被執(zhí)行,作為迷惑你的另外兩個(gè)console.log(a)分別在兩個(gè)作為參數(shù)和返回值的函數(shù)中,但沒有被調(diào)用。要使得這兩個(gè)console.log(a)被執(zhí)行,只要調(diào)用其所屬的函數(shù)即可

function newFun(a) {  // 3-1: 調(diào)用newFun,參數(shù)為剛剛的箭頭函數(shù)

    return function(a) {  // 4: 返回一個(gè)匿名函數(shù),這個(gè)匿名函數(shù)接受并打印參數(shù)a

        console.log(a);

    }

    // 5-0: 函數(shù)newFun結(jié)束

}


function fun(a) {  // 0-1: 調(diào)用fun,參數(shù)1

    console.log(a);  // 1: 打印a,即參數(shù)1

    let brandNewFun = a => console.log(a);

    brandNewFun(a);  // 2: 調(diào)用brandNewFun,參數(shù)為a,即1

    newFun(brandNewFun)(a);  // 3-0: 調(diào)用newFun,參數(shù)為一個(gè)箭頭函數(shù)brandNewFun(注意這個(gè)函數(shù)是作為參數(shù)的,此時(shí)這個(gè)函數(shù)沒有被調(diào)用)

    // 5-1: 函數(shù)newFun的調(diào)用已經(jīng)結(jié)束,并且它返回了一個(gè)匿名函數(shù),且我們立即調(diào)用了這個(gè)匿名函數(shù),參數(shù)為a,即1,因此這里輸出1

    // 6-0: 函數(shù)fun的調(diào)用已經(jīng)結(jié)束,該函數(shù)沒有返回任何值

}


fun(1);  // 0-0: 調(diào)用fun,參數(shù)1

// 6-1: 函數(shù)fun的調(diào)用已經(jīng)結(jié)束,腳本結(jié)束


查看完整回答
反對(duì) 回復(fù) 2018-08-04
  • 5 回答
  • 1 關(guān)注
  • 1979 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)