编写高质量代码——JavaScript篇

原创 2015年07月07日 22:57:14

一、避免团队合作时的js冲突
使用大写的GLOBAL作为全局变量的变量名。在不同的匿名函数中,根据功能生命一个不同的命名空间,每个匿名函数中GLOBAL对象的属性都不要直接挂在GLOBAL对象上,而是挂在此匿名函数的命名空间下。
二、JavaScript分层
JavaScript分为三层,从下往上以此是base层、common层和page层。base层的功能是给common层和page层提供接口,common层的功能是给page层提供组件。
base层可封装判断浏览器类型的方法,例如Firefox不支持document.all,可以用来判断浏览器类型。总而言之,base层的接口可以分成三块,一块用来操作DOM,一块操作事件,还有一块用来模仿其他语言提供原生JavaScript不提供的函数。
三、面向对象编程
面向过程编程:描述一个个“动作”。将程序分成“数据”和“处理函数”两部分,程序以“处理函数”为核心,如果要执行什么操作,就将“数据”传给相应的“处理函数”,返回我们需要的结果。面向过程的缺点:
(1)数据和处理函数没有直接的关联。
(2)数据和处理函数都暴露在同一作用域内。
面向对象编程:描述一个个“物件”,对象由属性和行为两部分组成。
在不影响扩展性的前提下,尽量将属性和行为设为私有。OO包括OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象的程序设计)。决定聚合和耦合成都的事OOA和OOD,OOA和OOD是工作在架构层面的。
函数在JavaScript中既可以当做普通函数使用,也可以当做类来使用。作为函数时用动词来命名,作为类时用名词来命名,类名首字母大写。
写在原型中的行为,可以被所有实例所共享,实例化的时候,并不会在实例的内存中再复制一份。而写在类的行为,实例化的时候会在每个实例里复制一份。把行为写在原型里可以减少内存消耗,没有特殊原因,尽量把行为写在原型里。写在原型中的行为一定是共有的,而且无法访问私有属性。
JavaScript中继承是要分别继承构造函数和原型中的属性和行为的。
function的用法:作为函数存在直接使用“()”进行调用,作为类的构造函数存在使用new调用。作为函数的function,其this指向的是window对象,而作为类构造函数的function,其this指向的是实例对象。要实现继承的效果,可以通过call或apply方法实现,父类.call(this, name)。
在JavaScript中,复制语句会用传值和传址两种不同的方式进行赋值。如果是数值型、布尔型、字符型等基本数据类型,在进行赋值时会将数据赋值一份;如果是数组、hash对象等复杂数据类型(数组、hash对象可包括简单类型数据),在进行赋值时会直接用内存地址赋值。让复杂数据类型也可以传值的做法一是,遍历数组或hash对象,将数组或hash对象这种复杂的数据拆分成一个个简单数据分别赋值。做法二,new SomeFunction,子类.prototype.constructor = 子类。因为子类.prototype=new 父类(),子类.prototype.constructor指向了父类,把它纠正重新指回子类。

Other Tips:
1、用hash对象传参。
2、自定义属性是个非常有用的技巧,我们不但可以用它来保存普通字符串,还可以用它保存其他类型(数组、hash对象)的数据。
3、好的维护性:代码的松耦合,高度模块化,良好的注释,代码的弹性,按照规范写代码。

如何编写高质量代码

对于开发人员来说,编写高质量的代码是有很重要的意义的,特别是在团队协作里。本篇博文从前端开发的角度,总结出编写高质量前端代码的一些经验。前端开发涉及的主要语言包括html,css,js等。这里主要针对...

提高代码性能,写出高质量js/jq代码常记

论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和...

Unity动画系统-给人物添加动画

导入人物模型,模型是不会动的,因为没有添加动画 首先给模型添加Animator组件 有的模型上自带组件,是因为我们给他设置成了人形动画,如果是普通动画就需要自己添加。添加好组件以后,我们发现上...

编写高质量代码、学习笔记——Javascript篇

编写高质量代码、学习笔记——Javascript篇

编写高质量代码、学习笔记——CSS篇

编写高质量代码、学习笔记——CSS篇

编写高质量前端代码——HTML&CSS篇

最近刚读完《编写高质量代码——Web前端开发修炼之道》,赶紧总结巩固下记忆,也方便平时查阅。     1、结构、样式和行为分离         这个不用多说,现在也是这样编码的。在此基础上,还要做到精...

编写高质量代码:改善JavaScript程序建议--函数式编程

函数式编程已经在实际应用中经发挥了巨大作用,更有越来越多的语言不断地加入对诸如闭包、匿名函数等的支持,从某种程度上来讲,函数式编程正在逐步同化命令式编程。 建议1:禁用Function构造函数使用Fu...

如何编写高质量的Javascript代码

优秀的Stoyan Stefanov在他的新书中(《Javascript Patterns》)介绍了很多编写高质量代码的技巧,比如避免使用全局变量,使用单一的var关键字,循环式预存长度等等。 这篇...

编写高质量JavaScript代码的基本要点

才华横溢的Stoyan Stefanov,在他写的由O’Reilly初版的新书《JavaScript Patterns》(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的...

如何编写高质量JavaScript代码

书写可维护的代码(Writing Maintainable Code ) 软件bug的修复是昂贵的,并且随着时间的推移,这些bug的成本也会增加,尤其当这些bug潜伏并慢慢出现在已经发布的软件中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编写高质量代码——JavaScript篇
举报原因:
原因补充:

(最多只允许输入30个字)