<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css" media="screen">
</style>
</head>
<body>
<script type="text/javascript">
// 回调函数-1个函数走完,回头用它在调用
//回调函数就是一个参数,将这个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数
//主函数不用等待回调函数执行完,可以接着执行自己的代码。所以一般回调函数都用在链式运动中动画操作上等。
//0.如何把函数内部变量拿到外部使用
//方法1-闭包
// function aa(){
// let b=1
// return function cc(){
// console.log(20,b);
// }
// }
// aa()()
//方法2-回调函数
// function aa(cb){
// let b=1
// cb(b)
// }
// aa(function(c){
// console.log(31,c);
// })
//1.基础的
//主函数
function A(callback) { //callback形参
console.log('我是主函数')
if(callback){ //如果存在就运行
callback()
}
}
//调用-把函数做为实参传进去
A(function(){ //回调函数
console.log('我是回调函数')
})
//输出结果
//我是主函数
//我是回调函数
//2.升级下-把主函数里的值传出去
//主函数
/* function A(callback) {
console.log('我是主函数')
var dd=22
if(callback){
callback(dd)//把dd值传出去
}
}
//调用-把函数做为实参传进去
A(function(aa){
console.log('我是回调函数')
console.log(aa)
}) */
</script>
</body>
</html>