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

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

js setTimeout中return 函數如何自己執行的?

js setTimeout中return 函數如何自己執行的?

智慧大石 2018-09-04 13:10:15
setTimeout(function() {    return function() {        console.log("setTimeout");    };}(), 500);function test(){    return function() {        console.log("test");    };}test();上述執行結果為setTimeout。test函數里邊的console語句不執行很容易理解,返回一個函數但沒有調用它,所以不執行,也就不會輸出test。不過setTimeout里邊函數在500ms后執行,也是返回一個函數,怎么就執行了,誰調用的它呢?求教
查看完整描述

1 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

setTimeout的第一個參數是這個東西:

function() {    return function() {        console.log("setTimeout");
    };
}()

這是一個立即執行函數,并不是setTimeout需要的一個函數或字符串,所以這個立即執行函數就執行了,返回了一個函數作為結果,就相當于:

setTimeout(function() {    console.log("setTimeout");
}, 500);

然后這個函數會在500ms后執行。就這樣。


查看完整回答
反對 回復 2018-10-22
  • 1 回答
  • 0 關注
  • 2061 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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