首页 > 其他分享 >JS中回调函数的概念

JS中回调函数的概念

时间:2022-12-30 00:23:00浏览次数:43  
标签:回调 console 函数 JS callback foo log

概要:Js中回调函数的概念...

个人理解:

回调函数的定义:

将一个函数作为参数的形式传入另一个函数中,那么这个函数就是回调函数,另一个函数可以决定在何时何处调用这个传入的回调函数。

比如:

//不传参示例
function foo(callback) {
    //函数foo,callback是接收回调函数的形参,不一定命名为callback
	console.log("a");//打印a
    console.log("b");//打印b
    callback();//执行回调函数
}
function f() {
	console.log("c");//打印c
}
foo(f);//执行foo函数,将f函数作为参数传入,f函数就是回调函数

//传参示例
var param1 = "a";
function foo(param,callback) {
    //param是函数foo接收param1参数的形参
    //函数foo,callback是接收回调函数的形参,不一定命名为callback
    let param2 = "c"
	console.log(param);//打印param1
    console.log("b");//打印b
    callback(param2);//执行回调函数
}
function f(param) {
    //param为接收param2参数的形参
	console.log(param)//打印param2
}
foo(param1,f);//执行foo函数,将param1传入,将f函数作为参数传入,f函数就是回调函数

javascript中回调函数的作用:

1、代码的功能执行位置更清晰

2、解决异步编程问题,使异步执行操作的执行顺序及先后变得可以控制。异步执行操作有:定时器、建立网络连接、读取网络流数据、向文件写入数据、Ajax提交、请求数据库服务,等等。

但是,过度的使用回调函数会产生回调地狱问题,因此promise和async、await是解决异步编程的更优方案。

标签:回调,console,函数,JS,callback,foo,log
From: https://www.cnblogs.com/szq233/p/17013888.html

相关文章

  • JS数据在内存中的存储方式
    概要:Js数据类型在内存中的存储形式......Js数据类型:简单数据类型(基本数据类型):Number、String、Boolean、Undefined、Null复杂数据类型(引用数据类型):Object、Array、Fu......
  • JS中闭包的概念
    概要:Js中闭包的概念...个人理解:js中闭包的定义......
  • JS中的arguments和args
    概要:学习express中间件原理时候遇到的arguments对象和...args形参,从一脸懵逼到简单认识...引言:最近在学习express框架的中间件原理时候遇到了一系列问题,让我总算是明白了......
  • 关于JS中深拷贝和浅拷贝的思考
    概要:对Js数据的深拷贝和浅拷贝做一个总结,加深记忆Js数据类型由基本数据类型和引用数据类型组成,简单数据类型包括(Number、String、Boolean、Undefined、Null);引用数据类型......
  • 前端jsp界面一些固定模板
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><ht......
  • 4js高级
    目录第一章 61作用域 62作用域链 63闭包 64变量提升 65函数提升 74动态参数arguments 75剩余参数 75.1剩余参数和arguments的区别 76箭头函数 86.1语法: 86.2箭......
  • 2js基础
    目录1JavaScript是什么 42js三种编写位置 43js注释 44js输入输出语句 44.1输出的三种方式 44.2输入【弹框输入】 55字面量 56变量 56.1变量声明 66.2变量赋值 66......
  • JS笔记(二):数据类型
    镇楼图Pixiv:torino三、数据类型原始类型原始类型像是string、symbol、number之类的都只能存储原子值,而不能像对象一样随意扩展。但是为了提供额外功能,采取了轻量的......
  • C语言---函数习题
    1、写一个函数,求二维数组是否对称(左右对称/上下对称)#include<stdio.h>#defineN5#definem4//写一个函数,求二维数组是否对称/*Pand_duic:判断二维数组是否对称@a:二维......
  • js三级联动,看不懂的请去我上一篇js的一些认识里瞅瞅
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>HTMLDOM</title></head><body><!--三级联动演示:省:四川,吉林,陕......