亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求問box函數里返回的是sumF函數,而我并沒有聲明sumF,并且調用sum函數,執行后返回20,求告知為什么返回的是sum方法返回的值

?function?box(sumF,?num)?{
	??????return?sumF(num);				
??????????????}

????????????function?sum(num)?{
	return?num?+?10;
??????????}

???????var?result?=?box(sum,?10);
???????alert(result);


正在回答

3 回答

box(sum,10) 肯定是執行第一個函數,結果是sunmF(10);這個時候沒有玩,肯定還要執行sunmF函數,結果就是10+10=20;

0 回復 有任何疑惑可以回復我~
#1

慕娘3064969 提問者

非常感謝!
2016-11-25 回復 有任何疑惑可以回復我~

sum函數被當作參數傳入到sumF函數,然后sumF內的函數體實際上變為:return sum(num);num為10,返回值自然為20;

0 回復 有任何疑惑可以回復我~
#1

慕娘3064969 提問者

sumF是函數嗎,我這邊用alert(typeof box.sumF)顯示的是undefined;用alert(typeof box.sumf())直接報錯,不是一個function
2016-11-25 回復 有任何疑惑可以回復我~

?var?result?=?box(sum,?10);你傳入參數的時候,傳入了一個函數名sum,它就會當成變量傳入你的box函數中,然后執行sumF(num);也就是執行sum(10);最后結果就是10+10=20;

0 回復 有任何疑惑可以回復我~
#1

慕娘3064969 提問者

多謝,受教了
2016-11-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

求問box函數里返回的是sumF函數,而我并沒有聲明sumF,并且調用sum函數,執行后返回20,求告知為什么返回的是sum方法返回的值

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號