一个令开发人员头疼的问题就是如何防止函数名/类名和其他人的冲突,在一个公司内部项目组之间可以通过命名预定(比如加前缀等)解决这个问题。这问题在javascript开发中导致的后果会是很严重的,因为JS是解释执行的,如果后面定义了同名变量就会覆盖前面变量,并用应用新定义变量的语义,这在Js中合法,没有错误提示,因此bug很难找。
目前,最新版本的JavaScript还是不支持命名空间,于是需要一套机制来模仿出命名空间的效果:
if($package)
{
try {
throw new Error("$package命名冲突!");
} catch (e) {
alert(e.name + ": " + e.message);
}
}
var $package =function() {
var a = arguments,
o = null,
i, j, d,rt;
for(i=0; i<a.length; ++i) {
d = a[i].split(".");
rt = d[0];
eval('if (typeof ' + rt + ' == "undefined"){' + rt + ' = {};} o = ' + rt + ';');
for(j=1; j<d.length; ++j) {
o[d[j]]=o[d[j]] || {};
o=o[d[j]];
}
}
return o;
};
$package("Yiwei.widget");
// Creating a class
Yiwei.widget.widgetName = new Class({
options: {
// options goes here
},
initialize: function(options) {
this.setOptions(options);
// initialize commands goes here
}
});
Yiwei.widget.widgetName.implement(new Events); // Implements addEvent(type, fn), fireEvent(type, [args], delay) and removeEvent(type, fn)
Yiwei.widget.widgetName.implement(new Options);// Implements setOptions(defaults, options);
yiwei项目中将使用mootools这个第三方js库,所以需要有mootools.js和mootools-more.js这两个js文件,再加个base.js,用来存放一些公共js代码,然后每个功能模块分配一个JS文件,且以功能模块名为JS名。
在base.js中定义类时,以yiwei.base.xxx形式,其中xxx表示你要定义的类名。
在各个功能模块的js文件中定义类,则以yiwei.功能模块名.xxx的形式来命名。
压缩工具选用yuicompressor-2.4.2。
分享到:
相关推荐
Zakas是一位经验丰富的前端工程师,以其在编写和维护大型JavaScript应用方面的专长而知名。 本书分为多个部分,涵盖了编码风格指南、注释的使用、变量和函数的管理、对象和数组的处理、错误处理和代码调试等多个...
模块化和包管理(如npm和yarn)使得JavaScript可以组织和管理项目中的依赖关系。 ### 编程技巧 #### 代码组织 良好的代码组织包括合理地拆分代码到不同的文件中,使用模块化来提高代码的可维护性。 #### 调试技巧...
《编写可维护的JavaScript》一书是每一位前端开发者的必备参考手册。它不仅涵盖了JavaScript的基本格式和注释规范,还提供了实用的指导原则,帮助开发者提升代码质量和项目管理效率。通过遵循本书中的建议,开发者...
本项目是一个基于JavaScript和MySQL实现的智慧停车管理系统,旨在提供一套高效、便捷的停车场管理解决方案。这个系统可以作为优质的毕业设计或课程设计项目,涵盖了软件开发的多个关键环节,包括前端用户界面、后端...
事件处理是JavaScript中关键的一部分,它允许程序在用户与页面交互时执行特定的代码。在旅游网站中,可能会有各种点击事件、鼠标悬停事件、表单提交事件等,通过绑定事件监听器,可以实现诸如导航菜单响应、预订按钮...
Crockford是一位著名的JavaScript专家,他提出的许多概念如JSON格式已经成为Web开发的标准之一。这份规范参考了Sun公司的Java编码规范,但由于JavaScript与Java存在显著差异,因此进行了大量调整以适应JavaScript的...
本书聚焦于实际工作中的JavaScript技巧与最佳实践,旨在帮助读者深入理解和掌握这门语言的核心特性及其在复杂Web应用中的应用。 #### 二、核心知识点详解 ##### 1. **JavaScript基础知识** - **变量声明**:了解...
《JavaScript语言精粹》作为一本经典的编程书籍,...总之,《JavaScript语言精粹》是一本值得每位JavaScript开发者反复阅读和深入研究的宝贵资源,它不仅能够帮助你建立起坚实的理论基础,更能激发你对编程的无限热情。
项目描述:本系统特色在于能提供给每位员工适合的帐套及离职原因分析员工信息管理(员工资料,员工奖惩,员工培训,员工考评,员工调薪及调动等),工资模板管理(工资帐套管理,员工帐套设置,工资表管理,月末处理...
在这个基于JavaScript的贷款计算器项目中,我们主要探讨以下几个关键知识点: 1. **DOM操作**:HTML(文档对象模型)是网页内容的结构化表示,JavaScript通过DOM API可以动态地操作这些元素。在贷款计算器中,...
2. **对象与原型**:JavaScript中的对象是基于原型的,这意味着每个对象都有一个原型链,可以继承属性和方法。`__proto__`、`Object.prototype`、`new` 关键字以及`Object.create()`都是原型机制的重要部分。 3. **...
在实际项目中,JavaScript的库和框架如jQuery、React、Vue、Angular等极大地提高了开发效率。这些工具提供了丰富的功能,如DOM操作简化、状态管理、组件化开发等,使得开发者能够专注于业务逻辑而非底层实现。 最后...
SSM项目在线物业管理系统是一个基于Spring、SpringMVC和MyBatis框架的Java企业级应用,旨在为物业公司、小区管理者以及住户提供一个全面的在线物业服务与管理平台。 以下是关于SSM项目在线物业管理系统的详细介绍:...
### 计算机科学与技术_基于Javascript的亚洲杯志愿者管理小程序的设计与实现 #### 摘要概览 本文档介绍了如何利用多种技术手段,包括JavaScript、Java、SpringBoot框架、Android、Vue以及MySQL数据库等,来设计并...
JavaScript,简称JS,是一种广泛用于Web开发的轻量级、解释型编程语言,以其灵活性和丰富的功能特性在前端和后端开发中占据重要地位。这个压缩包“white_js_data”包含超过8000个JavaScript文件,它们可以作为研究、...
随着Web应用的日益复杂,JavaScript作为前端开发的核心语言之一,其运行效率直接影响着用户体验与整体性能。因此,掌握一定的JavaScript性能优化技巧对于提升应用程序性能至关重要。本文将深入探讨一些JavaScript...
这份名为"javaScript(Useful).rar_javascript"的压缩包包含了一个文档,名为"107个常用Javascript语句.doc",其中详细列举了JavaScript编程中常见的107个语句,对于初学者来说是非常宝贵的资源。 首先,我们要了解...
Zakas是一位JavaScript领域的专家,他将通过此次演讲介绍如何构建大型的JavaScript应用。 - **核心议题**:演讲的核心议题包括构建单页或多页应用的方法、构建应用框架的原则以及JavaScript库与应用框架的区别等。 ...
2. **技术实现**:项目利用了SSM框架中的Spring进行整体的业务逻辑管理,SpringMVC负责前后端的交互和页面渲染,而MyBatis处理与数据库的交互。这种分层架构确保了系统的高可靠性和易于维护。 3. **前后端分离**:...
### JavaScript 个人总结笔记 #### 一、JavaScript 简介 JavaScript 是一种广泛应用于网页开发的编程语言,主要用于创建动态交互式的网页。...在实际项目开发中,还需要结合具体需求灵活运用这些知识。