在JS中,函数可以作为参数传递给函数,不止可以传递值或者对象,案例如下:
定义:
/** *@project: data_overnance *@package: *@date:2018/11/30 0030 15:07 *@author 郭宝 *@brief: 回调函数 */ export default class Person { constructor(){ } /** * 设置名称 * @param nameCallback 传入回调函数 */ setName(nameCallback){ //弹出输入对话框 let name = prompt("请输入你的名字"); //调用函数 nameCallback(name); } }
调用:
//实例化Person对象 let person = new Person(); //10以后执行内部代码 setTimeout(function () { //调用Person类中的setName函数,并传入匿名回调函数 person.setName(function (name) { console.log("name:"+name); //name:guobao }) },10000);
该回调函数类似于JAVA中的接口回调,熟悉JAVA接口回调的同学对JS中的回调函数会更容易上手
总结