1、引号的使用,单引号' ' 优先(如果不是引号嵌套,不要使用双引号)

    正常情况:console.log('hello there')        双引号转码: $("<div class='box'>")

2、空格的使用问题:(关键字后  符号后 排版 函数 赋值符号= )等

    a 函数的括号:function hello  (name)  {}    看 (参数)的 "括号外左右"(  ) 是有空格的,"括号内name左右" 是没有空格的
    b 关键字后需要空格:if  (condition) { ... }  if和()之间需要有空格
    c 赋值符号 = 两边需要有空格 :var x  =  2  赋值符号 = 两边需要空格
    d 字符串拼接符号 + 两边需要空格:var message = 'hello, '  +  name  +  '!' 常量和变量之间的+号,左右两边需要空格
    e 逗号,前面不要留空格,后面留空格:var list = [1,  2,  3,  4]          function greet  (name,  options)  { ... } 逗号前面不留后面留空格
 

3、同行不同行的问题:

    if () {} else {}中:  } else { 要在一行内
                                         if (XXX) {
                // 
              }  else  {
                //
 
              }
 

4、不写没有使用过的变量,如果定义了一个变量,后来一直没有参与过运算,那么不应该定义这个变量。

5、用=== 代替 ==,比较相等的时候,因为 == 会多一步数据转换,但是当在 if (a!=undefiend) {}条件中, a!=undefiend同时有a!==undefiend和a!==null的双重意思(null == undefined)

6、习惯给window的属性和方法加上window,例外的几个不用加window:document ,console ,navigator。  如:window.alert('hi')

 

7、同一个连写方法很长要换行缩进问题,js中三元运算符,jq中的连缀等

    var location = env.development ? 'localhost' : 'www.api.com'  一行内写法
    var location = env.development
      ? 'localhost'
      : 'www.api.com'
连缀写法:

var leds = stage.selectAll('.led')
    .data(data)
  .enter().append('svg:svg')
    .class('led', true)
    .attr('width', (radius + margin) * 2)
  .append('svg:g')
    .attr('transform', 'translate(' + (radius + margin) + ',' + (radius + margin) + ')')
    .call(tron.led);

 

8、注释问题:要有与前一行要空一行       另外不要无缘无故有大片的空白行           // 后面空一格

    var value  =  'hello world';

空一行

    / /  这里是注释

    console.log(value)

  多行注释:(这也可以用到版权信息注释

  /**
  * make() returns a new element
  * based on the passed in tag name
  *
  * @param <String> tag
  * @return <Element> element
  */

 
9、开头问题:不要  (   [   `   开头, 在开头前要加上;号
    ;(function () {window.alert('ok')}())
    ;[1, 2, 3].forEach(bar)    
    ;`hello`.indexOf('o')
 

10、对象和数组的创建问题:var item = {}; 不用new Object()方式             数组:var arr = []

 

11、超过80个字的字符串连接问题:

  

  var errorMessage = 'This is a super long error that ' +
  'was thrown because of Batman.'+
      'When you stop to think about ' +
  'how Batman had anything to do '+
     'with this, you would get nowhere ' +
  'fast.';
 
循环 或者 多行字符串 用join方法来构建
function inbox(messages) {
  items = []; 
  for(i = 0; i < length; i++) {
       items[i] = messages[i].message;
  } 
  return'<ul><li>'+ items.join() + ;
}
 

12、对数字使用 parseInt 并且总是带上类型转换的基数.     var val = parseInt(inputValue, );

 

13,布尔值转换 用Boolean() 或者 !!        var  hasAge = Boolean(age);     var hasAge = !!age;

 

14、命名问题:

    a 命名私有属性时前面加个下划线 _      如:构造函数中 this._firstName = 'Panda';     var _firstName = firstName; 
    b jq变量命名加上个$,用来区分js变量
 
 
   

js的规范写法ES5(自己以后按照这样写)的更多相关文章

  1. js&jsp规范问题

    1.js初始化问题    一般与数据库交互的需要进行初始化,固定控件一般不需要初始化.有些需要整体浏览器页面校准的可能需要初始化.    //初始化操作按钮        $(function(){  ...

  2. JavaScript必备:Google发布的JS代码规范(转)

    [翻译]关于Google发布的JS代码规范,你需要了解什么? 翻译 | WhiteYin 译文 | https://github.com/WhiteYin/translation/issues/10 ...

  3. 谷歌与Airbnb的JS代码规范

    谷歌JS代码规范 规范代码原因:代码规范是为了保持源代码编写模式一致,便于维护代码,可读性高. 1.使用空格代替tab 规范随后指出应该使用2个,而不是4个空格带实现缩进.(除了每一行的终止符序列,A ...

  4. HTML/CSS/JS编码规范

    最近整理了一份HTML/CSS/JS编码规范,供大家参考.目录:一.HTML编码规范二.CSS编码规范三.JS编码规范 一.HTML编码规范 1. img标签要写alt属性 根据W3C标准,img标签 ...

  5. js模块化规范AMD、CMD、CommonJS...

    1. AMD 1.1 什么是AMD? AMD 英文名 Asynchronous Module Definition ,中文名 异步模块定义 .这是一个浏览器模块化开发的规范. 由于浏览器环境执行环境的 ...

  6. JS模块规范:AMD,CMD,CommonJS

    浅析JS模块规范 随着JS模块化编程的发展,处理模块之间的依赖关系成为了维护的关键. AMD,CMD,CommonJS是目前最常用的三种模块化书写规范. CommonJS CommonJS规范是诞生比 ...

  7. 前端规范之JS代码规范(ESLint + Prettier)

    代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到或思考过这一问题.而随着前端应用的大型化和复杂化,越来越多的前端团队也开始重视代码规范.同样,前段时间,笔者所在的团队也开展了一 ...

  8. JS模块规范 前端模块管理器

    一:JS模块规范(为了将js文件像java类一样被import和使用而定义为模块, 组织js文件,实现良好的文件层次结构.调用结构) A:CommonJS就是为JS的表现来制定规范,因为js没有模块的 ...

  9. js日期的写法,获取girdviw的行数、提示信息、验证数量信息

    //制订日期(js日期的写法) var myDate = new Date(); var theDate = myDate.toLocaleDateString();  //获取今天的日期 //获取控 ...

随机推荐

  1. java是值传递还是引用传递

    首先写一个简便的Employee,以便测试使用. class Employee { private String name; public Employee(String name) { this.n ...

  2. <script>中的代码

    <script type="text/javascript"> $(document).ready(function () { $.formValidator.init ...

  3. css样式基础三

    css的定位: 其中css中被分为块级元素与行内元素.如块级元素div.hx标签.p元素.行内元素span和strong W3school给出的一切皆为框的定义. 而且可以使用display属性,强行 ...

  4. Web App适配不同屏幕的几点建议

    安卓设备在屏幕尺寸和像素密度上差别很大,因此在使用WebView加载网页时就需要考虑到这种差别,对我们的网页做出精心的设计以在不同的屏幕上都能得到合适的展现.通常情况下,我们需要考虑到两个因素:1.视 ...

  5. Unity手撸2048小游戏——自动生成4*4棋盘

    1.新建文件夹,命prefabs,将刚刚做成的Chessman拖入该文件下,做成预制体 2.删除panel下的Chessman 3.在panel下,新建一个空对象,命名为Chessboard,大小设置 ...

  6. Nginx添加到windows服务

    在windows平台,把Nginx注册到服务,又可以启动.停止和重启的方法,网上并没找到好的办法. 既然如此,唯有自己写程序实现了 使用C#进行编写,有兴趣的可以下载源码自己改:源码下载(2016-1 ...

  7. CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)

    准备篇: CentOS 6.6系统安装配置图解教程 http://www.osyunwei.com/archives/8398.html 1.配置防火墙,开启80端口.3306端口 vi /etc/s ...

  8. EXCLE使用中常用函数和公式

    1.查找重复项 IF(COUNTIF(A:A,A1)>1"重复""") 或者 IF(COUNTIF($A$1:$A$100,A1)=1,"&qu ...

  9. Open any local folder/file in IE11 (and more) using MSHH

    -------------------Poc.html------------------------ <OBJECT classid=% height=%> <PARAM name ...

  10. shell编程之变量

    变量: 变量由字母.数字._ 组成,不能以数字开头 长度不能超过255个字符 在bash中,变量的默认类型是字符串类型 变量分类: 1.用户自定义变量:只在当前shell生效,是局部变量 定义方法: ...