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

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

采用function和賦值語句定義函數(shù),為什么最后采用的都是賦值語句定義的函數(shù)?

采用function和賦值語句定義函數(shù),為什么最后采用的都是賦值語句定義的函數(shù)?

undertale 2016-07-13 16:34:26
這里輸出是1,為什么? 一個函數(shù)被多次定義,后面的定義會覆蓋前面的定義, 而賦值給f,變量提升會提升到文件前面。順序相當(dāng)于1.var?f;?2.f=function?3.function?f(); 所以為什么輸出不是2? <script> ???var?f=function(){ ???????document.write('1'); ???}; ????function?f(){ ????????document.write('2'); ????}; ????f(); </script>
查看完整描述

3 回答

已采納
?
nickylau82

TA貢獻(xiàn)128條經(jīng)驗 獲得超67個贊

你有一點搞錯了,var hoist(var懸?。┲怀霈F(xiàn)在變量中

而function f(){

// 函數(shù)體

} 這個叫函數(shù)聲明


var f = function(){//函數(shù)體} 這個叫函數(shù)表達(dá)式


函數(shù)聲明是在JavaScript一旦進入上下文之后馬上執(zhí)行的。

因此正確的順序是

  1. 執(zhí)行函數(shù)聲明

  2. 執(zhí)行函數(shù)表達(dá)式

  3. 調(diào)用函數(shù)?

因此輸出的是1

查看完整回答
3 反對 回復(fù) 2016-07-13
?
玉林峰

TA貢獻(xiàn)14條經(jīng)驗 獲得超9個贊

我個人覺得執(zhí)行順序應(yīng)該是這樣:

  1. var f????????(聲明提前 f為undefind) ?

  2. function f(){document.write('2')} ? ?(函數(shù)聲明,聲明提前)

  3. 執(zhí)行 var f = function(){document.write('1') ; ?(給 f 賦值)

  4. 調(diào)用 f() ? ? ?所以會輸出 1;

查看完整回答
反對 回復(fù) 2016-07-14
?
qyy2499760117_葉子

TA貢獻(xiàn)188條經(jīng)驗 獲得超91個贊

?立即執(zhí)行匿名函數(shù)···?


查看完整回答
反對 回復(fù) 2016-07-13
  • 3 回答
  • 0 關(guān)注
  • 1836 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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