现代 javscript 编程(4)
作者:moart0 来源:蓝色经典 发布时间:2011-04-21 16:24:00
标签:javscript,编程
为分发而进行的封装
开发现代的专业JavaScript代码的最后一个方面是为了代码分发或在现实世界里中使用而进行的封装处理。随着开始开发者们在其页面中使用越来越多的JavaScript代码,冲突的可能性将会增加。如果两个JavaScript库里都有一个名为data的变量或者按各的意图添加事件,灾难性的冲突和莫名其妙的错误可能就会出现。
开发者简单地置入<script>指针无须任何变动就能正常工作的能力是开发一个成功的JavaScript库的精诣所在。开发者用以保持代码清洁和普遍兼容的的技术或解决方案有许多种。
使用命名空间是广泛使用的保证代码不与其它JavaScript代码互相影响和抵触的一种技术。这方面一个极端的(但未必是最好或最有用的)运作中的例子就是Yahoo开发的任何人都可使用的用户界面库。使用该库的一个示例见程序1-3.
程序1-3. 使用重度名称空间化的YahooUI库给一个元素添加事件
//给ID为"body"的元素添加mouseover事件 *
YAHOO.util.Event.addListener('body','mouseover',function(){
//and change the background color of the element to red
this.style.backgroundColor = 'red';
});
然而,这种命名空间方法存在一个问题,即库与库之间在构造和使用的方式上缺乏内在的一致性。正是在这一点上,中心代码仓库如JSAN(JavaScript Archive Network)变得非常有用。JSAN提供一套代码库需遵从的一致规则,以及一种快捷导入代码所依赖的其它库的方式。图1-2展示了JSAN的主分发中心的一个截屏。
我将在第三章阐述开发清洁的可封装代码的细节。此外,其它常见的事故多发点如事件处理冲突,将在第六章论述。
0
投稿
猜你喜欢
- 在安装依然主机管理系统时,因为当时导入MSSQL时有点问题,所以,为了赶快能用上管理功能,所以就暂时先用了Access数据库。不过一直以来都
- 某些杀毒软件会把正常的asp文件误认为是asp木马文件,而自动删除,影响正常使用。下面方法可能会有效避免被杀毒软件删除把dim t
- 以下的文章主要是介绍SQL Server数据库与其实际应用元数据,我前两天在相关网站看见SQL Server数据库与其实际应用元数据的资料,
- 1.5 学习ASP.net 的过程中如何求助--加入 ASPNG 讨论列表 Charles Carroll 作为不断壮大的 ASP.NET
- 前两天写了一篇《浅谈网站用户粘性的含义》的文章,有些个别网友问可否谈谈怎么样加强用户粘性的问题?虽然对此本人没有系统的理论做以支撑,但是既然
- 众所周知,凡是用 FrontPage 做的网页里面都有类似这样的标记:<META content="Microso
- 如何向前端推送用户请求的信息?postinfo.htm<head><title>asp教程之回应用户请求信息&nbs
- 请问如何处理Oracle中较大的文本数据?我们可在ASP中予以解决,如在Oracle8i中文版中,建立数据表:CREATE TABLE SY
- 如何制作关联的下拉菜单?看看代码:<form name=f1 METHOD="POST">
- 在我们制作主页的过程中,用到表格的地方非常多,灵活运用表格技巧可以为我们的网页增色不少,这里我就详细介
- 一定要对用户可能输入的诸如引号,尖括号等特殊字符给予足够重视,它们可能引发严重的安全问题。SQL注入的基本手法之一,就是利用对单引号未加过滤
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 2.彻底弄懂CSS盒子模式二(导航栏实例) 3.彻底弄懂CSS盒子模式三(浮动的表演和清
- SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一
- Session StaticObjects 集合StaticObjects 集合包含 Session 对象范围中用 <OBJECT&g
- <!--#include file="strcheck.asp"--> <% '笔者在写程序的
- 大家在打开带有图片的网页时,有时会看到这样的情况:当鼠标指向图片的不同部位时,可以打开不同的超链接,这
- 百度有啊2009年情人节logo——大纸袋GG给大纸袋MM送了枝玫瑰花,大纸袋MM奖励了大纸袋GG一个吻,好可爱!淘宝网2009年情人节lo
- 我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们通常的做法都是通过export with rows=no来得到,但它的输
- 简化了一下 YUI3 中的沙箱实现 方式:if (typeof Sandbox === 'undefined' || !Sa
- PL/SQL是由Oracle公司对标准SQL进行扩展,专用于Oracle数据库中程序设计的专用语言,属第三代过程式程序设计语言。从Oracl