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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

javascript 為什么要用callback傳函數(shù), 而不直接在這個(gè)函數(shù)里調(diào)用另一個(gè)函數(shù)?

javascript 為什么要用callback傳函數(shù), 而不直接在這個(gè)函數(shù)里調(diào)用另一個(gè)函數(shù)?

楊__羊羊 2019-02-05 10:06:00
javascript 為什么要用callback傳函數(shù), 而不直接在這個(gè)函數(shù)里調(diào)用另一個(gè)函數(shù)
查看完整描述

4 回答

?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊

通俗的講就是被調(diào)用的函數(shù)不知道你要做什么, 你需要將執(zhí)行的操作作為回調(diào)函數(shù)傳入

比如插件, 當(dāng)插件執(zhí)行時(shí)你需要自定義一些操作, 插件開發(fā)者不知道你需要什么操作, 只能預(yù)留一個(gè)回調(diào)函數(shù)接口,供你傳入回調(diào)函數(shù),

例如你寫了一個(gè)下拉框插件, 功能是將模擬select操作, 那么當(dāng)onchange的時(shí)候是需要使用者根據(jù)需求去處理的, 而你的插件是要給很多人用的, 你不知道每個(gè)人onchange的時(shí)候要做什么事情, 這個(gè)時(shí)候你在onchange你判斷一下是否有A這個(gè)函數(shù),有的話就調(diào)用,然后繼續(xù)處理接下來的邏輯. , 用戶如果在onchange的時(shí)候有需求, 傳入A的實(shí)現(xiàn)即可. ,就相當(dāng)于執(zhí)行用戶的操作了, 就叫回調(diào)函數(shù).

查看完整回答
反對(duì) 回復(fù) 2019-03-17
?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

<html>
<head>
<title>Callback function test</title>
<script language="javascript" type="text/javascript">
function main(callback)
{
alert("I am main function");
alert("Invoke callback function..");
callback();
}
function b(){
alert("I am callback function: b");
}
function c(){
alert("I am callback function: c");
}

function test() {
main(b);
main(c);
}

</script>
</head>
<body>
<button onClick="test()">click me</button>
</body>
</html>
這里面main(b),那么b就稱作回調(diào)函數(shù),是不是很好理解?那有人會(huì)說我為什么不可以把b的調(diào)用放到main函數(shù)里呢?確實(shí)可以,但是那樣你的main方法就只能調(diào)用b了。這里我們將b傳遞個(gè)main,或者a傳遞個(gè)main,那main里面的callback方法就是動(dòng)態(tài)的回調(diào)函數(shù)。優(yōu)點(diǎn)就在這里。



查看完整回答
反對(duì) 回復(fù) 2019-03-17
?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

回調(diào)函數(shù)在JS的API里有一段解釋是這樣的:
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.(不懂可以去百度翻譯一下)
說的很明白了~
就是為了在執(zhí)行完父級(jí)函數(shù)后再執(zhí)行回調(diào)函數(shù)(就是為了保持這個(gè)執(zhí)行順序因?yàn)镴S單線程的問題),然后再一個(gè)優(yōu)點(diǎn)就是樓上說的了,可以作為參數(shù),隨時(shí)改傳進(jìn)去的函數(shù),更靈活了~

查看完整回答
反對(duì) 回復(fù) 2019-03-17
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

我的理解是javascript本身不提供多線程功能,但是需要發(fā)送異步請(qǐng)求,異步請(qǐng)求是沒辦法順序執(zhí)行的,回調(diào)函數(shù)一般是為了處理這種非同步請(qǐng)求而設(shè)計(jì)的

查看完整回答
反對(duì) 回復(fù) 2019-03-17
  • 4 回答
  • 0 關(guān)注
  • 774 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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