`

Js中的回调

    博客分类:
  • JS
阅读更多
======================JS中的回调=====================
Js中的callback机制,即回调.
JS中用到回调的几种情况:
1.动态加载(外部)js的时候,在加载完成之后进行一些操作,可以使用callback
2.加载iframe时也可以通过callback执行一些操作
3.ajax的使用,提交请求后得到的返回值用callback机制解析使用
4.链式调用的时候,在赋值器方法中(或者本身没有返回值的方法中)很容易实现链式调用,而取值器相对来说不好实现链式调用,因为你需要取值器返回你需要的数据而不是this指针,如果要实现链式方法,可以用回调函数来实现,

5.settimeout、setInterval的函数调用得到其返回值,由于两个函数都异步,无法在主体里等待它们的返回值,它们被打开的时候程序也不会停下来等待,只能使用callback。

一个简单的回调例子:

function Dog(name,color){   
         this.name=name||"";   
         this.color=color||"";   
}   
Dog.prototype.setName=function(name){   
         this.name=name;   
         return this;   
};   
Dog.prototype.setColor(color){   
        this.color=color;   
        return this;   
};   
Dog.prototype.yelp(){   
        alert("我的名字叫:"+this.name+",我的颜色是:"+this.color);   
        return this;   
};  

使用方式:
var dog = new Dog();   
dog.setName("旺财").setColor("白色").yelp();  


如果取值器你也想支持链式调用?那么就采用回调函数来实现,将本来应该返回的值直接传给回调函数,而return仍然返回this指针。接着上面的Dog类写一个方法:
Dog.prototype.getName(callback){   
     callback.call(this,this.name);   
        return this;   
}  


使用方式:
function showName(name){   
        alert(name);   
}   
dog.setName("旺财").getName(showName).setColor("白色");  



另外判断iframe是否加载完成的方法如下:
var iframe = document.createElement("iframe");
iframe.src = "http://www.planabc.net";
if (iframe.attachEvent)
{
    iframe.attachEvent("onload", function(){
     alert("Local iframe is now loaded.");
    });
}
 else
 {  
  iframe.onload = function(){
        alert("Local iframe is now loaded.");
    };
  }
document.body.appendChild(iframe);





分享到:
评论

相关推荐

    浅析JS中回调函数及用法

    主要介绍了JS中回调函数及用法,通过实例代码给大家详细介绍了什么是回调函数,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

    android中WebView回调js的方法

    android中WebView回调js的方法

    js回调函数的使用技巧和认识

    js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数js回调函数...

    [JavaSrcipt]-JS回调函数.pdf

    这份资源详细介绍了JavaScript中回调函数的概念和用法。文档中提供了回调函数的基本定义、回调函数的使用场景以及回调函数的实现方法等多个方面的内容,为开发者提供了全面的指导和帮助。 本文档还介绍了如何使用回...

    百度路书添加回调方法后js

    百度地图添加路书后回调js,基于Lushu.js 修改,添加了回调方法。很多时候我们需要在路书跑完之后去执行一些相应的操作,如路书开始的时候我们把所有的路线绘制下来,跑完之后需要清理;路书结束后需要给用户提示等

    js 回调函数

    如何向回调函数中传参数 最近写JS经常会因为向回调函数中传参而头疼,今天总结一下向回调函数中传参的方法,以后的应用中就不用在到处去找了。

    activex回调js

    页面调用activex控件及c#回调页面js方法,将activex信息返回页面,测试前请运行debug文件夹中的1.bat将activex控件注册后,直接打开示例页面即可

    ocx中事件函数,调用js中的回调函数

    ocx和js的交互调用。 ocx中事件函数,调用js中的回调函数例程。 适用初学者。良心奉献。内有说明

    理解和使用 JavaScript 中的回调函数

    理解和使用 JavaScript 中的回调函数,,,,,,,,,,,,,,,,,,

    支付宝个人收款实时回调js实现

    代码为js+html代码,下载后运行index.html 即可...然后将系统中支付信息替换为自己的支付信息,然后修改支付成功的回调,即可实现自己的支付业务,非常简单方便。无积分或者免积分下载可以站内信息联系我发给你源码。

    js回调函数示例

    回调示例

    js回调函数

    理解JavaScript的闭包是迈向高级JS程序员的必经之路, 理解了其解释和运行机制才能写出更为安全和优雅的代码。

    LCalendar最新版 移动端时间控件添加回调函数

    css文件未做任何修改,js文件添加了DaDaCallBack回调函数(点击确定按钮后回调)calendar.init({'DaDaCallBack':function(value)});

    js中回调函数的学习笔记

    回调函数是什么在学习之前还真不知道js回调函数怎么使用及作用了,下面本文章把我在学习回调函数例子给各位同学介绍一下吧,有需了解的同学不防进入参考。 回调函数原理: 我现在出发,到了通知你” 这是一个异步的...

    js调用ocx控件 响应回调

    使用vc6开发的ocx控件,在js脚本中进行调用,js对ocx回调进行响应

    回调函数被连续执行两次或多次的原因

    回调函数被连续执行两次或多次的原因: 根本原因:回调函数的事件预订【+=】语句被执行了两次或多次。 实例:移动web页的代码页类MobileDefault的Page_Init事件过程,包含的InitializeComponent()连续出现了两次...

    activx控件回调web中js函数的方法

    activx控件回调web中js函数的方法,附有VC6的代码和JS代码

    微信公众号多域名回调系统 微信公众号多域名回调功能:微信公众号后台默认只能授权2个网页域名,用本系统突破这个限制,用同一个公众号

    这是一款基于ThinkPHP6.0开发的微信公众号多域名回调系统。本系统有如下功能: 微信公众号多域名回调功能:微信公众号后台默认只能授权2个网页域名,用本系统突破这个限制,用同一个公众号对接无限多个网站。网站...

    回调函数.js描述了回调函数定义以及用途

    js回调函数,回调函数.js描述了回调函数定义以及用途

    对js中回调函数的一些看法

    我也决定从后端开发渐渐向前端开发和手机端开发靠拢,废话不说了,我们来切入正题“js的回调函数”相关的东西。 说起回调函数,好多人虽然知道意思,但是还是一知半解。至于怎么用,还是有点糊涂。网上的一些相关的...

Global site tag (gtag.js) - Google Analytics