模式编程(programming to the patterns)
JS的通用库最基本的目的是给你解决浏览器兼容性差异,Prototype和JQuery是做得最好的两个库。
JQuery对Dom的DSL化封装,还有对method chain的大量使用,几乎让你感觉在声明行为,所以它让非常多的对啰嗦的Dom编程厌烦的前端程序员迅速“上瘾”。但是,我们知道DSL化的JQuery还不够,因为它很好的解决了可读,但是并不一定容易维护(尤其是过度使用method chaning)。
其实Javascript的各种Widget库(如ExtJS、Dojo和YUI的widget库)都做到更好的复用。缺点是目前的widget库中的高级控件都严重的绑架了Dom结构,造成自己修改Dom结构比较麻烦。而没有使用Micro Format这样的基于标准的弱耦合,这是一个很大的问题。
顺便提一下,MicroFormat(微格式)是什么,WikiPedia上面有描述:
A Microformat (sometimes abbreviated μF or uF) is a way of adding simple semantic meaning to human-readable content which is otherwise, from a machine's point of view, just plain text. They allow data items such as events, contact details or locations, on HTML (or XHTML) web pages, to be meaningfully detected and the information in them to be extracted by software, and indexed, searched for, saved or cross-referenced, so that it can be reused or combined.
Both Firefox 3 and Internet Explorer 8 will support micro formats natively. If you cannot wait for the next version of Firefox or IE, then you can download the Operator micro format extension for Firefox and start testing your site.
这是一个最简单的从POSH(Plain Old Semantic HTML)变成hCard Micro Format的方法:
这样一来,这些本来含义难以使用爬虫和机器猜测的片段都有了具体含义。
不好意思,扯远了,让我们再回到模式编程上来。
会上提倡更多地采用模式编程,比如从OO开始,比如从继承一个类开始:
JS 类的关键切面包括:简单继承关系;把逻辑打碎成小的方法;把函数打碎成小的类;为编组的函数建立控制类;使用类库和事件库;必要时重构。
这样一段绑定事件的JS逻辑:
就可以这样进行模式编程,把整个行为逻辑定义为一个类,然后把绑定分别定义为方法,代码倒是复杂了,不过逻辑清晰不少,这个见仁见智吧。我还是觉得所有的重构、模式化和泛化都要建立在价值的基础之上:
未来如果子类出现:
最后他建议使用MooTools,它可以把JS中许多事情放在框架里面做完,让接口的使用更加简单,鼓励你重用代码,并写流畅、扩展性好和复用性好的代码。
MooTools(http://mootools.net/)是一个简洁,模块化,面向对象的开源JavaScript web应用框架。 它为web开发者提供了一个跨浏览器js解决方案。在处理js css html时候。它提供了一个比普通js更面向对象的document API。
MooTools的优点:
1.灵活,模块化的框架,用户可以选择自己需要的组件。
2.MooTools符合OO的思想,使代码更强壮,有力,有效。
3.高效的组件机制,可以和flash进行更好的交互。
4.对于DOM的扩展增强,使开发者更好的利用document。
最后用一个MooTools的实例结束本文:
var Animal = new Class({
initialize: function(name){
this.name = name;
}
});
var Cat = new Class({
Extends: Animal,
talk: function(){
return 'Meow!';
}
});
var Dog = new Class({
Extends: Animal,
talk: function(){
return 'Arf! Arf';
}
});
var Animals = {
a: new Cat('Missy'),
b: new Cat('Mr. Bojangles'),
c: new Dog('Lassie')
};
for(var animal in Animals)
alert(animal.name + ': ' + animal.talk());
// alerts the following:
// Missy: Meow!
// Mr. Bojangles: Meow!
// Lassie: Arf! Arf!
- 大小: 28.9 KB
- 大小: 42.4 KB
- 大小: 10.9 KB
- 大小: 22 KB
- 大小: 11.7 KB
分享到:
相关推荐
JavaScript框架高级编程——应用Prototype、YUI、Ext JS、Dojo、MooTools JavaScript框架高级编程——应用Prototype、YUI、Ext JS、Dojo、MooTools
MooTools是一款强大的JavaScript库,它提供了一套优雅的面向对象的编程接口和实用的工具集,便于开发者创建高效、可维护的Web应用程序。MooTools 1.4中文PDF手册与MooTools-Core-1.5.1.js是学习和使用MooTools的核心...
mootools.js可以生成较为复杂的、动态的网页交互效果,和jquery一样强大。。Mootools从Prototype.js中汲取了许多有益的设计理念,语法也和其极其类似。但它提供的功能要比Prototype.js多,整体设计 也比Prototype.js...
MooTools是一个JavaScript库,它的全称是"More Object-Oriented Tools",寓意...同时,结合标签中的"源码",你可以进一步研究MooTools的源代码,理解其内部机制,这对于深入学习JavaScript和提升编程技巧非常有帮助。
- **核心模块**:MooTools-Core.js是MooTools的基础,包含了一些基本的类和函数,如Element、Array、Function、String等,它们提供了对JavaScript原生对象的扩展。 - **Class机制**:MooTools引入了面向对象的...
通过阅读和理解Mootools中文文档,开发者不仅可以快速掌握如何使用Mootools,还可以深入了解JavaScript编程的最佳实践和技术细节,从而提高自己的编程水平。此外,Mootools的社区也非常活跃,提供了大量的资源和支持...
综上所述,"js图片滚动效果(mootools)"涉及到了JavaScript编程、MooTools库的使用、DOM操作、事件处理、动画效果以及用户体验优化等多个知识点。通过深入理解和实践这些内容,可以创建出更加高效、易用的图片滚动...
9. **Class系统**:MooTools的Class机制支持面向对象编程,包括继承、封装和多态,使得JavaScript开发更加面向对象。 10. **浏览器兼容性**:MooTools致力于跨浏览器兼容,可以在大多数现代浏览器上运行良好,包括...
Mootools是一款强大的JavaScript库,它为Web开发者提供了丰富的功能和高效的工具,使得在浏览器端进行复杂的JavaScript编程变得更加便捷。Mootools 1.2.1是该库的一个版本,其API文档对于理解和使用这个库至关重要。...
MooTools是一个强大的JavaScript框架,它的1.3版本是其发展中的一个重要里程碑。这个核心库提供了许多基础功能,使得Web开发者能够构建复杂、高性能的Web应用程序。MooTools 1.3 Core着重于效率、兼容性和模块化设计...
Mootools.js是一个轻量级且功能强大的JavaScript库,它提供了丰富的DOM操作、事件处理、动画效果以及面向对象的编程特性。这款基于Mootools.js的多级折叠菜单,不仅实现了基本的显示/隐藏功能,还加入了平滑过渡的...
1. **面向对象编程(OOP)**:MooTools基于JavaScript的原型继承机制,提供了强大的面向对象编程支持。它引入了类(Class)、实例(Instance)、继承(Inheritance)等概念,使代码结构更加清晰,易于维护。 2. **...
从标签“javascript”,“mootools”,“mootools_ui”,“ui”中,我们可以推断出这些文件与JavaScript编程语言、MooTools库以及与UI设计相关的各种主题有关。MooTools UI组件通常提供了丰富的API和方法,便于...
总之,MooTools是一个强大且灵活的JavaScript框架,对于前端开发者来说,深入学习和掌握MooTools有助于提升开发效率和代码质量,尤其是在构建动态交互的Web应用时。利用提供的资料,你可以逐步掌握这一技术,并将其...
- **与jQuery**:MooTools和jQuery都是流行的JavaScript库,但MooTools更注重面向对象编程,而jQuery更倾向于实用性和易用性。 - **与Prototype**:MooTools和Prototype都有类似的功能,但在设计哲学和API上有差异...
这个"mootools开发手册中文版"是针对MooTools 1.1.js版本的详细指南,旨在帮助开发者更好地理解和使用这个JavaScript框架。本文将深入探讨MooTools的核心概念、主要功能以及如何在实际项目中应用这些知识。 ...
然而,原生JavaScript的API庞大且不统一,为了简化开发,社区创造了一系列的框架,其中jQuery、MooTools和Prototype是三个非常著名的JavaScript库。这些框架提供了一致的接口,增强了DOM操作,简化了事件处理,并...