为什么80%的码农都做不了架构师?>>>   

JavaScript开发规范v0.01

终极原则:简洁,明晰,优雅。

所谓简洁,可以只写一遍的代码,绝不写两遍;

所谓明晰,尽量只用人类能一眼看明白的写法。

所谓优雅,能让阅读代码的人感受到一种莫名的和谐感(即美感)。

先不谈优雅,书写简洁而明晰的代码应该是所有程序员都应该遵守的天然法则。冗余而晦涩的代码,不但容易出错,而且会造成不可估量的维护麻烦。

1,定义普通变量

var name = “Shadow Fiend”;

var i, pid, price;

在任何时候,定义新的变量时,必须使用var。(如果不用var,你定义的局部变量就变成了全局变量,有可能在不知不觉中覆盖别人的变量,或者被别人的变量所覆盖)

2,定义数组

var ids= [];

只用这一种方法定义空数组。

// 向数组中追加元素

ids.push(10000);

ids.push(10001);

3,定义空对象(其实不空,就是个Object )

var params = {};

只用这一种方法定义空对象。

params[“mid”] = 0;

params[“pid”] = 12345;

params[“amount”] = 1;

4,定义方法

function addToCart(mid, pid, amount, callback){

// your code goes here

……

}

或者

var addToCart = function(mid, pid, amount, callback){

// your code goes here

……

};

定义方法,可任选一种方式;两种方式的区别不大,但是也有区别(具体细节可以问问度娘,在此不再赘述)。这里只提一句,我喜欢用第二种方式,因为这种方式可以时刻提醒我:在JavaScript中,一切都是对象,方法也不例外。

5,比较相等和不等

只用 === 和 !==.

if (code === 0) {

// your code goes here

… …

}

或者

if (code !== 0) {

// your code goes here

… …

}

6,关于parseInt

明确以十进制解析。

var value = “010”;

var amount = parseInt(value, 10); // 10

在JavaScript中,parseInt解析整数时,如果发现是以0开头的,就会默认以八进制解析,除非你明确要求以十进制解析。

7,关于setTimeout 和 setInterval

一定要用方法指针,不要用字符串代码,以避免JavaScript解释器的二次解释。

var doSomething = function () {

// your task code goes here

… …

};

// 5s之后执行

setTimeout(doSomething, 5000);

// 每隔1s执行一次

setInterval(doSomething, 1000);

转载于:https://my.oschina.net/aaxaac/blog/299966

JavaScript开发规范 0.01版相关推荐

  1. Android 开发规范(完结版)

    点击上方蓝字关注公众号 码个蛋第270次推文 长文干货 作者:Blankj 博客:https://www.jianshu.com/u/46702d5c6978 文章目录 前言 AS 规范 命名规范 代 ...

  2. 阿里开发规范(精简版)

    Java开发规范 命名 [规范]类名使用UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外: ( 领域模型的相关命名 )DO / BO / DTO / VO 等. 正例: Marco ...

  3. 阿里巴巴Java开发规范(终极版v1.3.0)--个人整理

    一.编程规约 1.[强制]抽象类命名使用Abstract或Base开头:异常类命名使用Exception结尾:测试类命名以它要测试的类的名称开始,以Test结尾 2.[强制]POJO类中布尔类型的变量 ...

  4. React 前端开发规范(执行版)

    一.命名规范 1.  变量 命名方法:小驼峰式命名法,首字母小写.studentInfo.userInfo 命名建议:使用英文单词组合,语义清晰 忌:var a=0;var nihao=true; 注 ...

  5. YunTable 0.1版正式发布!!!(转载)

    源地址:http://peopleyun.com/?p=731 经过两个星期的努力(如果刨去学习C语言的时间),YunTable终于走完一个从无到有的历程,今天,也就是2010年7月12日,YunTa ...

  6. Linux 0.01 内存管理

    源码下载 Linux 源码下载路径位于 https://mirrors.edge.kernel.org/pub/linux/kernel/,这篇博客所需要的 0.01 版本源码通过点击链接 https ...

  7. ASP.NET 2.0 正式版中无刷新页面的开发

    ASP.NET 2.0 正式版中无刷新页面的开发 在已经发布的 ASP.NET2.0 中,无刷新页面开发相关部分同 beta2 有不少改动.而且在越来越多的 Ajax 开发包被开发出来的情况下, AS ...

  8. 个人工作室的网站开发规范V1.0

    一,概述 不论是最古老的HTML,还是最近流行的AJAX,网站开发始终是一个综合了多种最新技术的实验场.作为个人工作室,成员屈指可数,多为手工作坊,往往一个人要担任多个角色,既是前台美工,又是后台程序 ...

  9. 游戏开发 unity3d python_游戏研发系列 Unity3D/2D游戏开发从0到1 第2版.pdf

    作 者 :刘国柱著 出版发行 : 北京:电子工业出版社 , 2018.01 ISBN号 :978-7-121-33499-3 页 数 : 507 丛书名 : 游戏研发系列 原书定价 : 99.00 开 ...

最新文章

  1. perl: warning: Setting locale failed. Falling back to a fallback locale (“en_HK.UTF-8“).
  2. 线性回归——最小二乘法_实例(二)
  3. signature=c4f11bb5142d9f6ce0876b3cc0d888af,PROVISIONAL SIGNATURE SCHEMES
  4. 用PIL读取保存图片错误 :OSError: cannot write mode RGBA as JPEG
  5. 成功解决ImportError: Could not find ‘cudart64_90.dll‘. TensorFlow requires that this DLL be installed in
  6. 仅靠一种普通的泡沫橡胶,这台机器人解决了“爬楼梯”的难题
  7. Python之字符串的134个常用操作
  8. 码率跟视频质量有关系
  9. [Leedcode][JAVA][第1162题][BFS]
  10. java thrift连接池_由浅入深了解Thrift之客户端连接池化
  11. 压缩版styleGAN(Mobile StyleGAN)参数更少、计算复杂度更低
  12. pytorch ImageFolder
  13. shim是什么?Vue响应式原理
  14. 我认为到现在写的最好的一本小说 《紫川》
  15. sqlite设密工具如何使用(本人资源)
  16. 7-20 sdust-Java-字符串集合求并集
  17. opencv cvFindContour 轮廓 freeman链码
  18. lms c语言,LMS算法实现自适应滤波器(C语言版)
  19. 适合三本计算机专业考研的学校,适合三本考研的学校有哪些
  20. Programming OpenGL in Linux: GLX and Xlib

热门文章

  1. linux服务 ssh
  2. 编写微信小程序常用到的界面参数
  3. 匿名内部类的简单使用
  4. 使用JNDI+连接池
  5. HOG:从理论到OpenCV实践
  6. 2016年中国程序员职业薪酬报告
  7. Android安全开发之安全使用HTTPS
  8. 代码:android崩溃日志收集和处理
  9. innobackupex自动备份脚本
  10. 东方金信:让大数据为民服务