如何编写出优美的JavaScript代码?我在网上一次又一次的看见这个东西,我基本都仔细看过,然后觉得这些所谓的JS优雅的优美的代码,总觉得非常不适应,今天我也来吐吐槽,不一定正确,供大家参考,我熟悉很多语言,例如java,c/c++/c#,ios,delphi,pb,我相信这些语言也是很多人会的,也熟悉其习惯,那么能不能让JS的编程手法和这些语言相同或者相似呢,答案肯定是有的,请往下看
我认为一个JS文件就是一个类(class),那么他的结构应该是以下
// 1.创建包名(命名空间)
// 2.导入需要的类名
// 3.构造方法
// 4.继承父类
// 5.编写方法
现在,就是每个段的代码实现
1.创建包名(命名空间)
namespace("pjaf.form");
//代码:
function namespace(fullNS) {
// 将命名空间切成N部分, 比如Kmf、Soft、Ext等
var nsArray = fullNS.split('.');
var sEval = "";
var sNS = "";
for ( var i = 0; i < nsArray.length; i++) {
if (i != 0) {
sNS += ".";
}
sNS += nsArray[i];
// 依次创建构造命名空间对象(假如不存在的话)的语句
// 比如先创建pjaf,然后创建pjaf.form,依次下去JavaScript 的命名空间
sEval += "if (typeof(" + sNS + ") == 'undefined') " + sNS + " = new Object();";
}
if (sEval != "") {
eval(sEval);
}
};
2.导入需要的类名
register("pjaf.form.Field");
//代码:这个稍微复杂,里面使用了一个jquery的ajax方法,同步去获取文件并执行
function register(clazzName) {
// 将传入的类名转化成实际文件的地址,为什么这样你懂的
var _clazzName = clazzName;
// 将所有.换成/
while (true) {
_clazzName = _clazzName.replace(".", "/");
if (_clazzName.indexOf(".") == -1) {
break;
}
}
// 组成最终的JS详细地址
_clazzName = _clazzName + ".js";
$.ajax({
url : _clazzName,
dataType : 'text',
scriptCharset : "GBK",
async : false, //同步调用,这个非常重要!!
cache : false,
success : function(data) {
// 如果到之后就直接执行
eval(data);
}
});
}
3.构造方法,创建了一个pjaf.form.Field类
pjaf.form.Field = function() {
this.id = null;
this.name = null;
};
4.继承父类,继承于pjaf.form.Field类
pjaf.form.TextField.inherit(pjaf.form.Field);
//代码:为所有Function增加该方法
Function.prototype.inherit = function(clazz) {
this.prototype = new clazz();
this.prototype.constructor = this;
this.prototype.father = function(name) {
f = clazz.prototype[name];
return f.apply(this, Array.prototype.slice.call(arguments, 1));
};
};
注意:这里的inherit名称不要改为extends,因为在JSCompiler中是关键字,将会无法编译此JS文件
5.编写方法,这里重写了父类的一个方法
pjaf.form.TextField.prototype.show = function(name) {
this.father("show", name);
alert("这里是类pjaf.form.TextField的show:" + name);
};
注意:这里的father名称不要改为super,因为在JSCompiler中是关键字,将会无法编译此JS文件
最后是示例代码,我晓得这个年头懒人多,直接放到你的项目,运行里面的test.html就是,本人测试过
分享到:
相关推荐
资源名称:编写可靠的JAVAscript代码 测试驱动开发JAVAscript商业软件内容简介:《编写可靠的Javascript代码 测试驱动开发Javascript商业软件》分为5个部分:第Ⅰ部分“奠定坚实的基础”...
第Ⅲ部分“测试和编写高级JavaScript特性”描述了如何使用和测试 JavaScript语言更高级的特性。 第Ⅳ部分“测试中的特殊主题”提供了测试DOM操作的样例,还演示了用于增 强代码标准的静态分析工具的使用。第Ⅴ部分...
内容全部由编写高质量的javascript代码的最佳实践组成,从基本语法、应用架构、工具框架、编码风格、编程思想等5大方面对web前端工程师遇到的疑难问题给出了经验性的解决方案,为web前端工程师如何编写更高质量的...
第 1 章主要讲述最基本的主题,如版本、类型转换要点、运算符注意事项和分号局限等。第 2 章主要讲解变量作用域,介绍此方面的一些基本概念,以及一些最佳实践经验。
注意外部式的标签内不可以编写JavaScript代码 JavaScript的开发 2.JavaScript代码编写 在编写JavaScript代码时,需要注意基本的语法规则: JavaScript严格区分大小写,在编写代码时一定注意大小写的正确性 ...
此资源为网上购书系统源代码,使用javascript语言编写
编写高质量javascript代码的68方法..........................
javaScript代码开发规范文档
内容全部由编写高质量的JavaScript代码的最佳实践组成,从基本语法、应用架构、工具框架、编码风格、编程思想等5大方面对Web前端工程师遇到的疑难问题给出了经验性的解决方案,为Web前端工程师如何编写更高质量的...
《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。《编写可维护的JavaScript》内容涵盖了编码风格、编程技巧...
《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript 代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。《编写可维护的JavaScript》内容涵盖了编码风格、编程...
很有趣、很新颖的,用javascript编写的、、
[Addison-Wesley Professional] Effective JavaScript 编写高质量JavaScript代码的68个有效方法 (英文版) [Addison-Wesley Professional] Effective JavaScript 68 Specific Ways to Harness the Power of ...
JavaScript编程很多年了,写了大量的JavaScript代码,即便是我这样的经历,但我仍然还在努力地去写出更优美的 JavaScript代码,在这篇文章中,我将探索为什么写出漂亮的JavaScript代码是如此困难,如何使用...
《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript 代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。《编写可维护的JavaScript》内容涵盖了编码风格、编程...
纯javascript代码编写计算器程序.pdf
100个可以直接拿来用的javaScript代码、里面包含各种常用的js,非常实用
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
函数式编程语言在学术领域已经存在相当长一段时间了,但是从历史上看,它们没有丰富的工具和库可供使用。随着 .NET 平台上的 Haskell 的出现,函数式编程变得更加...此外,可以利用函数式编程风格编写更加优美的回调。