现代 javscript 编程(4)

作者:moart0 来源:蓝色经典 时间:2011-04-21 16:24:00 

为分发而进行的封装

  开发现代的专业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的主分发中心的一个截屏。

图1-2. 公共代码仓库JSAN的截屏

  我将在第三章阐述开发清洁的可封装代码的细节。此外,其它常见的事故多发点如事件处理冲突,将在第六章论述。

标签:javscript,编程
0
投稿

猜你喜欢

  • 仿jQuery的siblings效果的js代码

    2024-04-28 09:36:34
  • 解决Mysql 8.0.17 winx64版本安装过程中遇到的问题

    2024-01-26 12:35:33
  • PyQt5实现数据的增删改查功能详解

    2021-03-30 06:50:07
  • javascript中css的float特殊写法

    2007-12-24 20:24:00
  • 使用python开发vim插件及心得分享

    2023-11-22 11:30:32
  • MYSQL存储过程 注释详解

    2024-01-20 08:56:12
  • PHP中使用BigMap实例

    2024-05-22 10:07:02
  • Python标准库之随机数 (math包、random包)介绍

    2021-09-26 11:57:08
  • 基于python if 判断选择结构的实例详解

    2023-01-15 22:45:03
  • Python使用pyshp库读取shapefile信息的方法

    2023-07-27 04:56:36
  • 大数据量,海量数据处理方法总结

    2024-01-12 21:59:38
  • python实现飞机大战

    2021-03-05 04:19:26
  • Python条件语句的使用

    2023-01-04 04:03:36
  • MSSQL  附加数据库提示“错误 823”数据恢复实操

    2024-01-23 20:31:45
  • python中main函数(主函数)相关应用例子

    2023-08-23 08:54:59
  • 关于Django Models CharField 参数说明

    2021-05-01 04:54:12
  • jupyter notebook 写代码自动补全的实现

    2023-04-14 03:04:00
  • Tensorflow分类器项目自定义数据读入的实现

    2023-06-21 20:21:53
  • pycharm 激活码及使用方式的详细教程

    2023-05-16 15:11:15
  • python+Django实现防止SQL注入的办法

    2022-05-22 13:13:13
  • asp之家 网络编程 m.aspxhome.com