立即执行函数和回调函数的用法

本文深入解析了立即执行函数和回调函数的工作原理及应用,对比了它们之间的区别,如执行时机、变量作用域污染的预防等。同时,探讨了回调函数在异步操作中的优势和挑战,如避免阻塞、回调地狱问题,并提到了Promise对象作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

立即执行函数
当变量名与函数名重复时,变量优先于函数
原理:函数的编译过程比变量复杂
优点:防止函数内部变量被外部污染
与普通函数的区别:
普通函数有定义,按需执行,变量可能被污染
立即执行函数只要有定义直接执行

(function(){
//code
}())

(function (){
//code
})()

这是立即函数的写法
回调函数
首先要知道回调函数是异步的
优点:不会发生阻塞
在未来某一刻优先执行需要执行的代码,
缺点:容易造成回调地狱的问题,代码让人看不懂 promise()对象可以解决回调地狱的问题
弊端:。then链式结构很恶心
回调函数:一个定义的函数,作为另一个函数的实参传入到另一个函数中
* 回调函数执行:
* 自动执行: 针对一些内置的API 自动触发 例如 sort
* 手动执行: 自定义的函数传入的回调函数需要我们自己 写 xxx() 触发

getdata(check)
   function getdata(callback){
    //这里我们假设是从后端获取数据
    setTimeout(function(){
     //假设我们获取到数据info
     var info = {
      "id":1,
      "name":'张三'
     }
     //得到数据以后执行函数方法
     callback(info)//这个就是回调函数
    },1000)
 }
function check(data){
  if(data.id==1){
   console.log('验证成功,可以通过')
  }
}

这些基本都是我们所学到的大部分对于回调函数的理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值