错误的列子:
//获取年龄的方法
function getAge(name){
let age=10;
return age;
}
//需要调用的方法
function html(){
let strHtml=``
let age=getAge("小明");//在此希望调用获取年龄方法得到小明的年龄
strHtml="小明的年龄为:"+age;
console.log(strHtml);
}
上面的列子 有可能在获取到年龄之前就执行了输出 (获取不到年龄就执行了下面的代码)
输出为: 小明的年龄为:undefined
正确的例子:
//获取年龄的方法
function getAge(name,callback){
let age=10;
callback(age);
}
//需要调用的方法
function html(){
let strHtml=``
//在此希望调用获取年龄方法得到小明的年龄
let age=getAge("小明",function(data){
strHtml="小明的年龄为:"+data;
console.log(strHtml);
});
}
上面的列子 输出为:小明的年龄:10
1.在需要调用的方法入参加callback参数 ,并且callback(返回的参数)
2.调用的时候 用 方法名(参数,function(data){ 后续的代码 }); 注:后续的代码要在括号内执行
本文通过对比错误和正确的代码示例,讲解了如何在JavaScript中正确地使用回调函数来确保函数执行的顺序,避免因异步操作导致的数据未准备好问题。关键在于将返回值的操作改为传入回调函数中执行。

被折叠的 条评论
为什么被折叠?



