100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > jQuery如何自定义一个回调函数

jQuery如何自定义一个回调函数

时间:2021-08-13 06:23:00

相关推荐

jQuery如何自定义一个回调函数

web前端|js教程

jQuery,自定义,函数,一个,如何

web前端-js教程

首先从callback的字面翻译“回调” 可以理解这是一个函数被调用的机制

易语言锁别人电脑源码,vscode拉取代码到本地,ubuntu怎么编译c,tomcat2.0评测,sqlite 共享库,网页设计需要什么证书,阿里云服务器地址是什么,slide 插件,2820最新前端框架,地心爬虫族,北京php工资,seo优化过程,springboot幂等组件,左侧菜单 网站,易语言取网页源代码,phpcms v9模板安装,网站前台 后台,dedecms后台登陆页面,国外ui管理系统,程序生成的静态页面lzw

当我们遇到一个名词首先可能是百度谷歌搜索看官方是怎么解释的

php行业网站源码,vscode怎么看装在了哪里,ubuntu 如何重装,tomcat启动不了环境变量,Vbs访问sqlite,网页设计作品免费,阿里云 云服务器ecs,dz商业插件VIP,前端甘特图框架,爬虫类形态,js里写php,网站seo优化工具,竞价单页网站源码,一个商品列表的网页代码,淘宝仿天猫模板代码,页面出现水平滚动条,维修管理系统php,微擎小程序安装教程lzw

下面是维基百科对回调的定义:

kangle销售源码下载,VS切换到VScode,ubuntu如何备份,tomcat需要装吗,qt数据库操作sqlite,禁止对政府机构网站使用爬虫技术,php 判断数字正则,调兵山seo工具,C2C电子商务网站管理系统,公司简介单页设计模板lzw

a callback is a piece of executable code that is passed as an argument to other code which is expected to call back (execute) the argument at some convenient time

硬翻译: 一个回调函数是作为另一个函数的参数的一个可执行的代码段 这个代码段在方便的时间来执行

通俗形象的解释: 把函数f2当做一个参数传给函数f1 并且在f1里适当的时间执行f2(下面的所有例子我都用f1,f2表示)

所以我们可以得到一个这样的回调函数模式

function f1(f2) { //f1要执行的一些代码 if (f2 && typeof(f2) === "function") { //对f2做判断是否存在并且是一个函数 f2(); }}

这里要注意两点 参数里的f2是一个指向f2这个函数的指针所以f2后面不能加括号

而f1内部的f2后面要有括号 因为这时我们要调用执行f2 ,所以要写f2()

我们把这个模式实例化看下他的执行结果

声明函数function f1(f2) {alert("我是f1");if (f2 && typeof(f2) === "function") { //写上判断是个好习惯f2()}}执行f1(function() {alert("我是f2");})结果://"我是f1",“我是f2”

我们看下整个函数执行的过程 当调用 f1(function(){alert(“我是f2”);})的时候

首先把一个匿名函数传给了f1() 而这个匿名函数就是声明函数里的参数f2 javascript程序是从上到下执行 先执行了alert(“我是f1”); 然后执行了f2();

那我们可不可以这样写呢

function f1(f2) { alert("我是f1"); if (f2 && typeof(f2) === "function") {f2() } alert("我又是f1 哈哈");}执行f1(function(){ alert("我是f2");})//结果:我是f1 ,我是f2,我又是1 哈哈

再看对callback的定义 ,我们可以让callback在我们想要执行的时候执行,不影响f1本身的执行流

但为了封装和美观大多数我们会这样写

function f1(f2){ if (f2 && typeof(f2) === "function") { settimeOut(function(){f2()},1000) ;//f1执行1s后f2执行}}function f2(){/**/}f1(f2);

其实回调函数没那么复杂的,在js里面,function你可以当成一个普通的参数。只要后面加上(),就表示调用这个函数了。

再看看下面这个例子

$(function(){ function funcname(param){ //do something //callback param.callback(); }//调用 funcname({ callback:function(){ alert(callback do); } });});

从上面的例子也可以看出来,其实每定义一个函数,都将函数入容器的栈,index就是函数名。默认是在window下,因此可以把字符串丢过去,在window下也可以通过字符串调用到这个回调函数。

带参数的话,可以采用上面的方式。

比如jQuery里的一个例子

$("#div1").fadeOut("fast",functin(){ $("#div2").fadeIn("slow");})

让#div快速隐藏然后让#div2渐渐显示,在jQuery里有大量的callback函数

并且有一个专门的有一个方法callbacks来管理

jQuery.Callbacks = function( options ) {...}

最后我说下我最近在项目中用到的callback吧

hybrid app 功能大概就是 我向ios发送一个请求 ios返回给我的json数据 然后我将返回的数据解析插入到web页面上

//首先我写一个javascript和ios通信callback函数(简化)getData(callback){settimeOut(function(){callback(iso_return)},100);}//然后我向ios发送一个请求function getSinersReuest(){window.location.href="vvmusic://....callback=getSinersData"}/*然后ios截获url中的callback执行getData(getSinersData)返回给我数据;我的getSinersData是我想把ios返回的json插入到页面显示8*/getSinersData(iso_return){.........}//当页面加载的时候调用window.onload=function(){getSinersReuest();}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。