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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS一道域和i++有關(guān)的問題,面試題,求幫忙

JS一道域和i++有關(guān)的問題,面試題,求幫忙

undertale 2017-03-16 21:47:36
這道題挺經(jīng)典的相信很多人都做過了,正確答案是010。我很疑問第二個值為什么是1第一次運行f1輸出0因為i是后加的,第二次運行f1,又重新賦值了var i=0啊,然后i又是后加的,所以應(yīng)該輸出0啊,為什么是1呢?
查看完整描述

2 回答

?
Caballarii

TA貢獻1123條經(jīng)驗 獲得超629個贊

f1實際上是Foo里return的那個函數(shù),所以f1()只執(zhí)行了console.log(i++),由于閉包的存在,兩次f1()操作了同一個i,而f2()操作了另一個i

查看完整回答
1 反對 回復(fù) 2017-03-16
  • undertale
    undertale
    不好意思我太菜了,請問f1為啥是Foo的return函數(shù)?我以為f1=Foo f1(); 就是把Foo全部執(zhí)行一遍
  • Franc_Ribery
    Franc_Ribery
    很明顯把Foo()的執(zhí)行結(jié)果賦值給了f1...函數(shù)的執(zhí)行結(jié)果就是return的值,如果return沒寫的就是,所以這里f1就是Foo所返回的匿名函數(shù),又因為這是一個閉包,你的閉包被變量f1所引用,所以這個閉包會一直存在直到f1變量被銷毀,所以第二次執(zhí)行的時候輸出的就是1,因為閉包并沒有被銷毀,所以連同它所關(guān)聯(lián)的i變量被一起保存了下來。。
  • Franc_Ribery
    Franc_Ribery
    很明顯把Foo()的執(zhí)行結(jié)果賦值給了f1...函數(shù)的執(zhí)行結(jié)果就是return的值,如果return沒寫的就是,所以這里f1就是Foo所返回的匿名函數(shù),又因為這是一個閉包,你的閉包被變量f1所引用,所以這個閉包會一直存在直到f1變量被銷毀,所以第二次執(zhí)行的時候輸出的就是1,因為閉包并沒有被銷毀,所以連同它所關(guān)聯(lián)的i變量被一起保存了下來。。
?
Franc_Ribery

TA貢獻4條經(jīng)驗 獲得超0個贊

很明顯把Foo()的執(zhí)行結(jié)果賦值給了f1...函數(shù)的執(zhí)行結(jié)果就是return的值,如果return沒寫的就是,所以這里f1就是Foo所返回的匿名函數(shù),又因為這是一個閉包,你的閉包被變量f1所引用,所以這個閉包會一直存在直到f1變量被銷毀,所以第二次執(zhí)行的時候輸出的就是1,因為閉包并沒有被銷毀,所以連同它所關(guān)聯(lián)的i變量被一起保存了下來。。

查看完整回答
反對 回復(fù) 2017-03-17
  • 2 回答
  • 1 關(guān)注
  • 1727 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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