`

jQuery中回调函数的原理及实现上

阅读更多
//测试Chrome版本  40.0.2214.115 m

//如有错误欢迎指出

//http://ezizoo.iteye.com/blog/2204215
//由上一次写的数组总结(上面地址是数组总结)
//写一个数组的应用

//就是jquery中回调函数Callbacks的实现

//实现分以下两部分
//第一个:没有onece,memory,unique,stopOnFalse
//第二个:加上onece,memory,unique,stopOnFalse

//第一步的实现原理 
//第一:将函数依次放进数组里
//第二:将函数依次的遍历出来并且执行
//第三:实现两点,要对arguments与call,apply,三个要有一定的理解
//下面开始代码

var Callbacks=function(){
	var 
		i,
		list=[],
		//定义一个函数,将数组全部执行一次
		fire=function(){
			for(i=0;i<list.length;i++){
				list[i].call(arguments[0]);
			}
		},
		self={
			add:function(){
				//对传进来的参数进行解析
				for(i=0;i<arguments.length;i++){
					if(typeof(arguments[i])==="function"){
						list[i]=arguments[i];
					}
				}
			},
			fire:function(){
				fire(this);
				return this;
			}
		};
	return self;//此函数返回的对象是self
};

function aa(){
	alert("aa");
}

function bb(){
	alert("bb");
}

var cb=new Callbacks();
cb.add(aa,bb);
cb.fire();


//对self对象中的add方法进行改进
//自执行函数
var Callbacks=function(){
	var 
		i,
		list=[],
		//定义一个函数,将数组全部执行一次
		fire=function(){
			for(i=0;i<list.length;i++){
				//list[i]();
				//alert(this);
				list[i].call(arguments[0]);
			}
		},
		self={
			add:function(){
				(function add(args){
					//对传进来的参数进行解析
					//以后可使用each遍历
					for(i=0;i<args.length;i++){
						if(typeof(args[i])==="function"){
							//list[i]=arguments[i]; 
							list.push(args[i]);
						}
					}
				})(arguments);
				return this;
			},
			fire:function(){
				fire(this);
				return this;
			}
		};
	return self;
};
//到此结束

 

 

分享到:
评论

相关推荐

    jQuery中回调函数的原理及实现下

    本篇文章将深入探讨jQuery中回调函数的原理及其应用。 回调函数本质上是一个在特定事件发生后被调用的函数,它允许我们将业务逻辑推迟到某个操作完成之后执行。在jQuery中,回调函数经常用于异步操作,如Ajax请求...

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

    本文旨在深入探讨回调函数的概念、工作原理以及如何在实际开发中应用它们。 #### 一、回调函数的定义与特点 **定义:** 回调函数是一种特殊的函数,它作为参数传递给另一个函数,并且在这个外部函数执行过程中被...

    jQuery回调函数的定义及用法实例

    以下是对jQuery回调函数的详细说明: 首先,让我们理解回调函数的基本概念。回调函数是一个被作为参数传递给另一个函数的函数,这个参数会在适当的时间(通常是某个事件或条件满足时)被调用。这种模式使得我们能够...

    解决使用ajaxFileUpload上传控件出现的问题:回调函数总是进入error或success

    然而,在实际应用中,开发者可能会遇到一些问题,如回调函数总是进入error或success状态,这通常与错误处理、请求状态、服务器响应以及代码实现有关。 首先,我们来详细了解一下`ajaxFileUpload`。这是一个基于...

    一个超简单的jQuery回调函数例子(分享)

    回调函数的基本原理是将一个函数作为参数传递给另一个函数,当这个外部函数执行完毕或达到特定条件时,它会调用内部传入的函数,从而实现一种顺序执行或依赖执行的机制。 在jQuery中,回调函数常用于处理DOM操作,...

    javascript回调函数详解参考.docx

    JavaScript中的回调函数是一种重要的编程概念,它涉及到函数作为参数传递以及异步编程的基本原理。回调函数的核心在于,它不是直接被调用,而是被另一个函数在特定时机或事件发生时执行。这种机制使得我们能够在执行...

    jQuerycountdown是一款功能齐全的jQuery倒计时插件

    4. **回调函数**:在上述示例中,`event.strftime('%Y年%m月%d日 %H:%M:%S')`用于格式化倒计时的显示。`strftime`函数允许自定义时间格式。此外,还可以添加更多的回调函数来处理不同的倒计时事件。 **三、实现原理...

    原生js实现jquery函数animate()动画效果的简单实例

    5. fn:这是一个回调函数,当动画执行完毕后将被调用。 在原生JavaScript中,实现动画的原理通常是通过定时器(如setInterval)不断改变目标对象的样式属性,从而创建动画效果。由于动画需要在浏览器重绘之前更新...

    jQuery学习笔记之回调函数

    在这篇"jQuery学习笔记之回调函数"中,我们将深入理解回调函数的工作原理及其在jQuery中的应用。 1. 回调函数定义: 回调函数是一种特殊的函数,它作为参数传递给其他函数,并在特定条件满足或特定事件触发时由该...

    jquery实现PDF在线预览 jquery实现在线预览PDF文档

    这个过程是异步的,因此我们需要处理回调函数。 ```javascript PDFJS.getDocument(pdfUrl).promise.then(function(pdfDocument) { // PDF 加载成功后的操作 }); ``` 4. **渲染页面**:在PDF文档加载成功后,我们...

    CSS3结合jQuery实现动画效果及回调函数的实例

    在现代网页设计与开发中,CSS3与jQuery结合使用是一种常见的技术手段...通过本文的示例和分析,我们能更好地理解动画实现的原理以及回调函数在动画序列中的重要作用。希望本文对读者在进行前端开发时能有所启发和帮助。

    JS回调函数原理与用法详解【附PHP回调函数】

    #### 回调函数原理 在JavaScript中,当一个函数(我们将它称之为A)被调用时,它可以接受一个函数作为参数(称之为B)。函数B此时就是一个回调函数,它将在函数A中的适当位置被执行。这种机制广泛用于事件处理、...

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

    在JavaScript中,回调函数是实现异步操作的基础,它们允许我们在等待某项操作(如网络请求或定时任务)完成时执行其他任务,而不阻塞主线程。然而,回调函数也带来了“回调地狱”的问题,即嵌套的回调可能导致代码...

    jquery_tips,JQ实现的冒泡提示

    在这些回调函数中,我们可以使用.show()和.hide()方法来控制提示框的显示和隐藏。 4. **动态定位**:为了让提示框始终跟随鼠标,可以在鼠标移动事件中动态调整其位置。可以使用event对象的clientX和clientY属性获取...

    倒计时 jquery countdown

    它允许开发者通过简单的API调用来设置倒计时的日期、时间、样式以及各种回调函数,以实现不同阶段的事件处理。例如,你可以设置倒计时结束时触发的回调,用于显示特定的消息或执行其他操作。 首先,要使用jQuery ...

    jQuery position() 函数详解以及jQuery中position函数的应用

    jQuery的`position()`函数是用于获取元素在DOM结构中相对于其最近的定位祖先元素(即position属性设置为absolute、relative或fixed的元素)的偏移坐标。这个函数对于需要精确控制元素位置的情况非常有用,例如在实现...

    jquery.event.drag jquery拖动插件

    3. **回调处理**:在回调函数中,可以获取到当前的鼠标位置、元素位置等信息,实现自定义逻辑。 四、实战案例 1. **文件管理**:可以利用`jquery.event.drag`实现文件列表中的文件拖动排序,改变文件的相对位置。 ...

    jquery实现前台分页

    5. **处理分页链接**:当用户点击分页链接时,插件会自动更新页面并调用回调函数,你只需要在这个回调函数中处理新的数据并更新页面即可。 这个分页插件可能还提供了其他高级功能,如自定义样式、跳转至指定页、...

    JS回调函数的应用简单实例

    综上所述,回调函数是JavaScript中处理异步操作的核心,它能够将需要异步执行的代码组织在一起,简化了异步编程模型。尽管在实际应用中可能会遇到一些复杂情况,但其基本原理和应用方式对于理解和使用JavaScript至关...

    jQuery图片上传插件,支持批量上传、预览、删除、放大、上传数量、上传大小、追加方式配置以及上传前、上传后和删除的回调函数

    回调函数是jQuery插件的核心特性之一,它们允许开发者在特定事件(如上传前、上传后和删除)发生时执行自定义代码。例如,上传前的回调可以用来进行额外的验证,上传后的回调可能用于更新UI状态,删除的回调可能需要...

Global site tag (gtag.js) - Google Analytics