作为前端程序员,一定要认清javascript的地位,不要被它乱七八糟的特点所迷惑。JavaScript主要是用来操控和重新调整DOM,通过修改DOM结构,从而达到修改页面效果的目的。

要用这个中心思想指导以后的所有js学习,包括它的框架。

所谓合理就是合乎道理。那么合理的javascript代码通常遵循哪些原则?笔者认为至少要遵循以下几点:

有意义的命名

无论选择驼峰命名法还是匈牙利命名法,见名知意是最重要也最基本的一条法则。同时也要避免会产生歧义的命名。

例如 变量“当前时间”

var d;不好的命名

var currentTime 好的命名

每一个函数只干一件事

每个函数只干一件事就是避免把所有业务逻辑都放在同一个函数中完成,这样的好处是代码更为简洁,可读性提高,易于维护及复用。

合理的传参

举个简单的例子:

好的传参

funcation  queryStudent(Json student){

……………….

}

不好的传参

funcation  queryStudent(id,name,…){

……………….

}

合理的DOM

合理的

var  phaseObject =

{

northLeftPhase = document.getElementById('northLeftPhase')

}

phaseObject.northLeftPhase.src='http://phase.com/n/left.png';

不合理的

document.getElementByID('northLeftPhase').src = 'http://phase.com/n/left.png';

合理的注释

语言精练,使用规范的注释模式,防止多意义,常更新。

原则,并不是所有的变量函数都需要注释,一般注释哪些比较生涩的算法。

精练的注释

//Selector the Elements

var  findElements = window. findElements = function( exp ){ ....................... }

不精练的注释

//Selector the Elements by GetElementById & getElementsByTagN ....

Var findElements = window. findElements = function( exp ){ ....................... }

注释 != 字幕

好的

// find [ID = A]

var oA = document.getElementById('A');

不好的

/*Found through the document.getElementByID*/

var oA = document.getElementById('A');

合理的排版

缩进排版(Indentation)

4个空格常被作为缩进排版的一个单位。缩进的确切解释并未详细指定(空格 vs. 制表符)。一个制表符等于n个空格(视具体的编辑器而定,Eclipse默认一个制表符为4个字符)。

行长度(Line Length)

尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理之。

注意:鉴于Eclipse开发工具工作区的左侧和右侧都被非代码编辑器所占据,因此建议每行的代码长度不要超过70个字符。

换行(Wrapping Lines)

当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:

·在一个逗号后面断开;

·在一个操作符前面断开;

·宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开;

·新的一行应该与上一行同一级别表达式的开头处对齐。

模块化编程

便于管理;

提高开发效率;

减少错改代码的次数;

易于维护;

提高代码可读性;

易于构建大型项目。

认清Javascript的地位并编写合理的Javascript代码的更多相关文章

  1. JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)

    编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...

  2. 编写高效的JavaScript

    Web前端性能优化——编写高效的JavaScript   前言 随着计算机的发展,Web富应用时代的到来,Web 2.0早已不再是用div+css高质量还原设计的时代.自Gmail网页版邮件服务的问世 ...

  3. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

  4. 编写高质量JavaScript代码绳之以法(The Essentials of Writing High Quality JavaScript)翻译

    原文:The Essentials of Writing High Quality JavaScript 才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<Java ...

  5. 编写高质量JavaScript代码的基本要点记录

    原文:深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 1.最小全局变量(Minimizing Globals)的重要性 JavaScript通过函数管理作用域.在 ...

  6. 编写高质量JavaScript代码的68个有效方法

    简介: <Effective JavaScript:编写高质量JavaScript代码的68个有效方法>共分为7章,分别涵盖JavaScript的不同主题.第1章主要讲述最基本的主题,如版 ...

  7. 编写高效的JavaScript程序

    作者: Addy Osmani  来源: CSDN  发布时间: 2013-01-10 14:15  阅读: 7952 次  推荐: 15   原文链接   [收藏] 英文原文:Writing Fas ...

  8. 编写第一个JavaScript程序

    编写第一个程序 在 HTML 页面中嵌入 JavaScript 脚本需要使用 <script> 标签,用户可以在 <script> 标签中直接编写 JavaScript 代码, ...

  9. 如何编写高质量JavaScript代码

    书写可维护的代码(Writing Maintainable Code ) 软件bug的修复是昂贵的,并且随着时间的推移,这些bug的成本也会增加,尤其当这些bug潜伏并慢慢出现在已经发布的软件中时.当 ...

随机推荐

  1. 【SignalR学习系列】4. SignalR广播程序

    创建项目 创建一个空的 Web 项目,并在 Nuget 里面添加 SignalR,jQuery UI 包,添加以后项目里包含了 jQuery,jQuery.UI ,和 SignalR 的脚本. 服务端 ...

  2. 第一个java——swap()交换方法

    其实这学期的java课开了将近四星期了,加上开学前的小小预习.编写不下于二十几个java了. 可这一有关swap()方法的java确实是首次迷惑不解到处寻求解决的程序. 课堂上老师有关类.方法.对象的 ...

  3. ES6中的模块

    前面的话 JS用"共享一切"的方法加载代码,这是该语言中最容出错且容易令人感到困惑的地方.其他语言使用诸如包这样的概念来定义代码作用域,但在ES6以前,在应用程序的每一个JS中定义 ...

  4. MySQL优化 - 所需了解的基础知识

    时隔一年半,期间一直想写但却觉得没有实质性的内容可记录,本文为 [高性能MySQL] 的学习日志整理分享(感兴趣建议读原书). 优化应贯穿整个产品开发周期中,开发过程中考虑一些性能问题与影响,总比出问 ...

  5. 关于SGA与memory_target 大小冲突照成数据库无法挂载问题

    关于SGA与memory_target 大小冲突照成数据库无法挂载问题   错误信息: ORA-00844: Parameter not taking MEMORY_TARGET into accou ...

  6. Codeforces 828B Black Square(简单题)

    Codeforces 828B Black Square(简单题) Description Polycarp has a checkered sheet of paper of size n × m. ...

  7. Locust性能测试工具的安装及实际应用

    一.安装Locust 安装Locust之前先安装的库:gevent库:第三方库,gevent为python提供了比较完善的协程支持.使用gevent,可以获得极高的并发性能. pip install ...

  8. [技术] OIer的C++标准库 : 字符串库<string>

    引入 上次我在博客里介绍了OI中可能用到的STL中的功能, 今天我们接着来发掘C++标准库中能为OI所用的部分. 众所周知, OI中经常用到字符串相关的处理, 这时善用字符串库可以使一些操作更加简洁易 ...

  9. ansible批量分发免密钥登陆python脚本

    最近看了看强大的号称自动化运维的三大利器之一的--ansible,ok,亲测之后,确实感觉,对于我们这种DBA工作者来说,确实很受益. 值得注意的是ansible要求被管理服务器python版本不低于 ...

  10. 如何在MySQL中设置外键约束以及外键的作用

    1.外键的作用,主要有两个:     一个是让数据库自己通过外键来保证数据的完整性和一致性     一个就是能够增加ER图的可读性 2.外键的配置 1)先创建一个主表,代码如下: #创建表studen ...