认清Javascript的地位并编写合理的Javascript代码
作为前端程序员,一定要认清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代码的更多相关文章
- JavaScript手札:《编写高质量JS代码的68个有效方法》(一)(1~5)
编写高质量JS代码的68个有效方法(一) *:first-child { margin-top: 0 !important; } body>*:last-child { margin-botto ...
- 编写高效的JavaScript
Web前端性能优化——编写高效的JavaScript 前言 随着计算机的发展,Web富应用时代的到来,Web 2.0早已不再是用div+css高质量还原设计的时代.自Gmail网页版邮件服务的问世 ...
- 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...
- 编写高质量JavaScript代码绳之以法(The Essentials of Writing High Quality JavaScript)翻译
原文:The Essentials of Writing High Quality JavaScript 才华横溢的Stoyan Stefanov,在他写的由O'Reilly初版的新书<Java ...
- 编写高质量JavaScript代码的基本要点记录
原文:深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 1.最小全局变量(Minimizing Globals)的重要性 JavaScript通过函数管理作用域.在 ...
- 编写高质量JavaScript代码的68个有效方法
简介: <Effective JavaScript:编写高质量JavaScript代码的68个有效方法>共分为7章,分别涵盖JavaScript的不同主题.第1章主要讲述最基本的主题,如版 ...
- 编写高效的JavaScript程序
作者: Addy Osmani 来源: CSDN 发布时间: 2013-01-10 14:15 阅读: 7952 次 推荐: 15 原文链接 [收藏] 英文原文:Writing Fas ...
- 编写第一个JavaScript程序
编写第一个程序 在 HTML 页面中嵌入 JavaScript 脚本需要使用 <script> 标签,用户可以在 <script> 标签中直接编写 JavaScript 代码, ...
- 如何编写高质量JavaScript代码
书写可维护的代码(Writing Maintainable Code ) 软件bug的修复是昂贵的,并且随着时间的推移,这些bug的成本也会增加,尤其当这些bug潜伏并慢慢出现在已经发布的软件中时.当 ...
随机推荐
- HDOJ-2006求奇数的乘积
Problem Description 给你n个整数,求他们中所有奇数的乘积. Input 输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数 ...
- 【css】过度效果
http://kissygalleryteam.github.io/girlLink/doc/demo/index.html
- poj 3761 bubble sort (排列组合)
#include<cstdio> #include<cstring> #define ll long long #define mod 20100713 ; ll a[maxn ...
- python的__init__几种方法总结
参考 __init__() 这个方法一般用于初始化一个类 但是 当实例化一个类的时候, __init__并不是第一个被调用的, 第一个被调用的是__new__ #!/usr/bin/env pytho ...
- 使用Mapper专用的MyBatis Generator插件
使用Maven执行MBG 这里有一个完整的例子,Mybatis-Spring,下面讲解的内容出自这个例子. 使用Maven插件的一个好处是可以将Maven中的属性使用${property}形式在gen ...
- poj-2287---Tian Ji -- The Horse Racing
#include<iostream> #include<algorithm> using namespace std; bool cmp(const int,const int ...
- 自己动手封装一个url参数解释器( ghostWuUrlParser.js )
ghostWuUrlParser.js的作用是分析一段url中的查询参数,即: '?'号后面的 键值对参数. ghostWuUrlParser.js 使用说明: ghostWuUrlParser( ' ...
- Spring学习笔记之AOP配置篇(一)
[TOC] 1. 创建并声明一个切面 首先,创建一个类,添加@Component注解使其添加到IoC容器 然后,添加@Aspect注解,使其成为一个切面 最后,在配置文件里面,使用<aop:as ...
- python之禅 the zen of python
>>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is ...
- Oracle Windows安装图解
一. Oracle 下载 官方下地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htm ...