`
basil1292
  • 浏览: 9314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mootools学习心得?

阅读更多

当诸如prototype.js、mootools.js、jQuery.js这些框架出现后,在其代码中能看见大量call和apply方法的调用。这里拿mootool中的为例,如:

Array.extend({forEach:function (C, D) {
	for (var B = 0, A = this.length; B < A; B++) {
		C.call(D, this[B], B, this);
	}
}



这段代码的作用是为Array原型扩展forEach这样一个迭代方法。参数C是一个函数,参数D则是我们传入的一个对象。一般性使用例子是:

[1,2,3,4].forEach(function(item){
		alert(item);
})

 结果是:连续的弹出1,2,3,4. 我们在看下面的代码:

var object = "传入的对象";
	[1,2,3,4].forEach(function(item){
		alert(item);
		alert(this);
},object)

 结果是:1,传入的对象,2,传入的对象,3,传入的对象,4,传入的对象, 可以看见传入的object替代了forEach方法中匿名函数中的上下文,所以alert出来的this是"传入的对象"。

[1,2,3,4].forEach(function(item,index,array){
		alert(item);
		alert(this);
		alert(index);
		alert(array);
	})

 

如上代码,item数组中单个数,此数的index值,数组本身。如用apply来代替call代码将如下:

 

Array.extend({forEach:function (C, D) {
	for (var B = 0, A = this.length; B < A; B++) {
		C.apply(D, [this[B], B, this]);
	}
}

 

不同的写法是因为apply和call参数传入的不用: apply第一个参数是要“代替”这个function对象实例中的上下文this,第二个参数是传递给这个funciton对象的所有参数组合而成的数组。call第一个参数作用和apply相同,而第二个参数以后的参数[0个或N个]将传递给这个funciton对象的参数。

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    mootools1.2学习手册

    《MooTools 1.2 学习手册》是一份详尽的中文文档,旨在帮助开发者深入了解和掌握MooTools这一强大的JavaScript库。MooTools是一个轻量级、模块化的JavaScript框架,它提供了丰富的功能,使得Web开发更为高效且易于...

    mootools 中文学习文档

    《深入探索MooTools:中文学习文档精要》 一、引言 MooTools是一个功能强大且灵活性极高的JavaScript框架,它简化了浏览器兼容性问题,并提供了丰富的库函数,使得开发者可以更专注于业务逻辑而无需过多关注底层...

    最实用的mootools学习资料

    对于更深入的学习,你可以查阅MooTools的官方站点,参与社区讨论,以及查找相关的在线教程和示例代码。 总的来说,MooTools是一个强大而灵活的JavaScript框架,它的核心函数、类系统和动画库为开发者提供了高效开发...

    mootools

    MooTools是一个JavaScript库,它的全称是"More Object-Oriented Tools",寓意...同时,结合标签中的"源码",你可以进一步研究MooTools的源代码,理解其内部机制,这对于深入学习JavaScript和提升编程技巧非常有帮助。

    mootools 1.1学习文档

    本学习文档是针对MooTools 1.1版的详细指南,适合已经有一定JavaScript基础并且想要深入了解MooTools特性和用法的开发人员。 一、MooTools的核心特性 1. **类系统**:MooTools使用基于原型的面向对象编程模型,...

    MooTools学习笔记(一)

    **MooTools学习笔记(一)** MooTools是一个轻量级、模块化的JavaScript库,设计用于简化前端开发,提供了一系列高效且易于使用的工具和函数。这篇学习笔记将引导我们深入理解MooTools的核心概念、架构以及如何在...

    Mootools 1.2快速学习教程

    在Mootools 1.2教程中,你将学习到如何使用这些模块和工具来创建交互式网页,如何组织和优化代码,以及如何解决常见的JavaScript问题。通过实践案例和详尽的解释,你将能够迅速掌握Mootools 1.2,并将其应用于实际...

    mootools详细教程chm

    对于中文使用者来说,这是一个极好的学习资源,可以系统地学习和掌握MooTools。 学习MooTools,首先要熟悉其基础概念,然后通过实际项目练习来提高技能。CHM文档和PDF手册将提供理论知识,而GIF教程则有助于直观...

    MooTools1.4中文PDF手册+MooTools-Core-1.5.1.js

    MooTools 1.4中文PDF手册与MooTools-Core-1.5.1.js是学习和使用MooTools的核心资源。 1. **MooTools的基本概念** - **类与对象**:MooTools基于原型的面向对象系统使得创建和继承类变得简单。你可以定义类并为它们...

    MooTools 帮助文档 中文

    MooTools是一个简洁,模块化,面向对象的JavaScript框架。...总之,Mootools是一个非常优秀的Javascript框架,更多精髓部分等待你去发掘,希望你也能通过学习和使用而喜欢上Mootools,甚至喜欢上Javascript :)

    mootools tree and table

    在IT领域,JavaScript库MooTools是一个非常受欢迎的框架,用于增强网页的交互性和功能。MooTools提供了许多工具和组件,其中包括...在实践中,不断探索和学习MooTools的其他功能,将使我们在Web开发领域更具竞争力。

    Mootools 1.2.1 API 文档

    Mootools是一款强大的...通过阅读Mootools.doc文档,你可以深入学习每个模块的详细用法,掌握如何编写高效的Mootools代码,同时了解如何解决可能出现的问题。在实践中不断探索,将使你在Joomla开发中更加得心应手。

    mootools学习文档

    这个"Mootools学习文档"包含了对这个框架的详细解析,尤其针对版本1.2的中文版文档,对于初学者和进阶开发者来说都是一份宝贵的资源。 MooTools的核心特性包括: 1. **类系统**:MooTools引入了基于原型的面向对象...

    mootools 1.2 中文文档

    这份中文文档的出现,为国内开发者学习和使用MooTools提供了极大的便利。 1. **核心概念**: - **类与对象**:MooTools支持基于原型的面向对象编程,通过`Class`和`Object`构造器创建类和实例,允许继承和混合...

    Mootools v1.11 文档 pdf html Mootools v1.2.1 js

    - **MooTools v1.2.1 js**:这是MooTools的一个版本,包含了库的源代码,可供开发者查看和学习。 使用这些资源,开发者可以深入理解MooTools的工作原理,学习如何在项目中有效利用它,提升Web应用的用户体验和开发...

    mootools源码分析.rar

    总的来说,通过对MooTools源码的分析,我们可以学习到JavaScript的高级特性、面向对象编程、事件处理、DOM操作、动画制作以及跨浏览器兼容性等多方面的知识,这对提升我们的JavaScript开发技能大有裨益。

    mootools开发手册中文版

    学习和掌握MooTools,不仅能提升JavaScript开发的效率,还能利用其强大的功能实现复杂交互和动态效果。对于前端开发者而言,理解并熟练使用MooTools的各个模块,是提高项目质量和代码可维护性的关键步骤。

    Mootools1.2.3各版本下载

    MooTools是一个轻量级的JavaScript库,设计用于简化Web开发中的DOM操作、事件处理、动画效果以及Ajax交互。1.2.3是MooTools的一个稳定版本,它提供了丰富的功能集,同时保持了高性能和良好的浏览器兼容性。在本文中...

    mootools_1.2的中文文档

    - **Docs**:这个目录很可能包含了MooTools 1.2的所有中文文档,包括介绍、API参考、教程和示例,是学习MooTools的核心资料。 - **assets**:这个目录通常包含文档中引用的图片、CSS样式和JavaScript文件,它们为...

Global site tag (gtag.js) - Google Analytics