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

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

請教一下js函數(shù)調(diào)用后,所返回函數(shù),的調(diào)用。

請教一下js函數(shù)調(diào)用后,所返回函數(shù),的調(diào)用。

SMILET 2019-04-10 20:48:49
代碼一:functionshow(){alert(12);returnfunction(){alert(3);};}alert(show()());我覺得這段函數(shù)應該會報錯,因為下面的show(括號一),返回的是function(){alert(3);}那么這個返回的函數(shù)后面還有一個括號來調(diào)用它,即function(){alert(3);}()。我在全局環(huán)境下,寫這段代碼就會報錯,function(){alert(3);}()。請問為什么代碼一所示函數(shù)就可以正常運行呢?謝謝。
查看完整描述

2 回答

?
RISEBY

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

代碼一其實是函數(shù)柯里化即將函數(shù)當做值傳遞給下一個函數(shù),形如
show()-->值
vark=show();
varg=k();
g是結(jié)果
那么你的這句為什么會報錯呢?
function(){
alert(3);
}()
因為JavaScript可以執(zhí)行函數(shù)表達式,但是不能執(zhí)行函數(shù)聲明,也就是說,JavaScript把
function(){
alert(3);
}
當做了函數(shù)聲明,想要正常運行,在函數(shù)聲明的外部套一對小括號即可,像這樣:
(function(){
alert(3);
})();
當然,想要套其他的玩意也行,比如:
+function(){
alert(3);
}();
-function(){
alert(3);
}();
以上
                            
查看完整回答
反對 回復 2019-04-10
  • 2 回答
  • 0 關(guān)注
  • 372 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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