在JS中,函數(shù)可以作為參數(shù)傳遞給函數(shù),不止可以傳遞值或者對(duì)象,案例如下:
定義:
/** *@project: data_overnance *@package: *@date:2018/11/30 0030 15:07 *@author 郭寶 *@brief: 回調(diào)函數(shù) */ export default class Person { constructor(){ } /** * 設(shè)置名稱 * @param nameCallback 傳入回調(diào)函數(shù) */ setName(nameCallback){ //彈出輸入對(duì)話框 let name = prompt("請(qǐng)輸入你的名字"); //調(diào)用函數(shù) nameCallback(name); } }
調(diào)用:
//實(shí)例化Person對(duì)象 let person = new Person(); //10以后執(zhí)行內(nèi)部代碼 setTimeout(function () { //調(diào)用Person類中的setName函數(shù),并傳入匿名回調(diào)函數(shù) person.setName(function (name) { console.log("name:"+name); //name:guobao }) },10000);
該回調(diào)函數(shù)類似于JAVA中的接口回調(diào),熟悉JAVA接口回調(diào)的同學(xué)對(duì)JS中的回調(diào)函數(shù)會(huì)更容易上手
總結(jié)
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com