JavaScript:將函數(shù)作為參數(shù)傳入,作為回調(diào)函數(shù)
2 回答

慕哥9229398
TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
調(diào)用函數(shù)時(shí), 傳遞入的參數(shù)與順序必須按照函數(shù)聲明來排列, 所以調(diào)用doSomeThing時(shí):
123456789101112131415 | function doSomething(args,callback){ somethingComplicated(args); callback(); } //第一個(gè)參數(shù)如果不需要傳遞,可設(shè)置為null //function onEnd(){} 這種方法通常是聲明一個(gè)函數(shù), 將函數(shù)作為參數(shù)傳遞可直接傳遞函數(shù)名稱,或者傳遞匿名函數(shù) //傳遞函數(shù)名稱 function onEnd(){ //code } doSomething( null , onEnd); //傳遞匿名函數(shù) doSomething( null , function (){ compute(); }); |

MYYA
TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
你可以改寫doSomething函數(shù)的實(shí)現(xiàn),如果第一個(gè)入?yún)⑹呛瘮?shù)就認(rèn)為是回調(diào)函數(shù),要看你想實(shí)現(xiàn)什么功能。
1234567 | function doSomething(args,callback){ somethingComplicated(args); if (arguments.length==1 && 'function' == typeof args){ callback = args; } if (callback) callback(); } |
- 2 回答
- 0 關(guān)注
- 746 瀏覽
添加回答
舉報(bào)
0/150
提交
取消