网易邮箱前端技术分享之javascript编码规范 发布日期:2013-11-26 10:06 来源:网易邮箱前端技术中心 作者:网易邮箱 点击:533 网易邮箱是国内最早使用ajax技术的邮箱.早在2004年就推出了基于ajax引擎的极速风格邮箱,到2012年极速风格已经发展到第五版.最近两年HTML5+CSS3以及移动终端技术方兴未艾,网易邮箱也紧跟技术发展趋势推出了iphone,ipad适配版的邮箱.在这么多年开发邮箱webmail过程中,邮箱前端团队积累了不少心得体会,我们开发了很多基础…
在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊聊javascript的编码规范. 总所周知,javascript是一种语法极其灵活的语言.javascript在设计之初就只是用来为HTML添加动态效果的.由于他动态,弱类型 等特性,以及不同浏览器的兼容性问题,造成了开发成本要比java等语言要高很多.正因为它太灵活,我们制定了适用于网易邮箱的j…
在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊聊javascript的编码规范. 总所周知,javascript是一种语法极其灵活的语言.javascript在设计之初就只是用来为HTML添加动态效果的.由于他动态,弱类型等特性,以及不同浏览器的兼容性问题,造成了开发成本要比java等语言要高很多.正因为它太灵活,我们制定了适用于网易邮箱的ja…
Airbnb 是一家位于美国旧金山的公司,本文是其内部的 JavaScript编码规范,写得比较全面,在 Github 上有 16,686 + Star,3,080 + fork,前端开发人员可参考. 原文:https://github.com/airbnb/javascript 注:本人根据自己的开发习惯删除和修改了部分规范 类型 原始值: 相当于传值 string number boolean null undefined var foo = 1, bar = foo; bar = 9; c…
JavaScript编码规范 1 前言   2 代码风格   2.1 文件   2.2 结构   2.2.1 缩进   2.2.2 空格   2.2.3 换行   2.2.4 语句   2.3 命名   2.4 注释   2.4.1 单行注释   2.4.2 多行注释   2.4.3 文档化注释   2.4.4 类型定义   2.4.5 文件注释   2.4.6 命名空间注释   2.4.7 类注释   2.4.8 函数/方法注释   2.4.9 事件注释   2.4.10 常量注释   2.4…
JavaScript编码规范 1 前言 2 代码风格 2.1 文件 2.2 结构 2.2.1 缩进 2.2.2 空格 2.2.3 换行 2.2.4 语句 2.3 命名 2.4 注释 2.4.1 单行注释 2.4.2 多行注释 2.4.3 文档化注释 2.4.4 类型定义 2.4.5 文件注释 2.4.6 命名空间注释 2.4.7 类注释 2.4.8 函数/方法注释 2.4.9 事件注释 2.4.10 常量注释 2.4.11 复杂类型注释 2.4.12 AMD 模块注释 2.4.13 细节注释 3…
前言 本文摘自Google JavaScript编码规范指南,截取了其中比较容易理解与遵循的点作为团队的JavaScript编码规范. JavaScript 语言规范 变量 声明变量必须加上 var 关键字.     当你没有写 var, 变量就会暴露在全局上下文中, 这样很可能会和现有变量冲突. 另外, 如果没有加上, 很难明确该变量的作用域是什么, 变量也很可能像在局部作用域中, 很轻易地泄漏到 Document 或者 Window 中, 所以务必用 var 去声明变量. 常量     常量…
1. 前言 JavaScript在百度一直有着广泛的应用,特别是在浏览器端的行为管理.本文档的目标是使JavaScript代码风格保持一致,容易被理解和被维护. 虽然本文档是针对JavaScript设计的,但是在使用各种JavaScript的预编译语言时(如TypeScript等)时,适用的部分也应尽量遵循本文档的约定. 任何问题或建议,欢迎跟我们讨论:fe-styleguide@baidu.com. 2. 代码风格 2.1. 文件 ·[建议] JavaScript 文件使用无 BOM 的 UT…
本规范提供了一种统一的编码规范来编写 Vue.js 代码.这使得代码具有如下的特性: 其它开发者或是团队成员更容易阅读和理解. IDEs 更容易理解代码,从而提供高亮.格式化等辅助功能 更容易使用现有的工具 更容易实现缓存以及代码包的分拆 基于模块开发 始终基于模块的方式来构建你的 app,每一个子模块只做一件事情. Vue.js 的设计初衷就是帮助开发者更好的开发界面模块.一个模块是应用程序中独立的一个部分. 怎么做? 每一个 Vue 组件(等同于模块)首先必须专注于解决一个 单一的问题 , …
一些命名规范书或js书命名规范章节,喜欢将命名规范跟语法混在一块例如: 1.使用“var”定义.初始化变量防止产生全局变量,多变量一块定义使用“,”(本身这种方式就很有争议). 2.结尾必加“;”防止js执行效果跟想象中不一样. 3.判断两数相等使用“===”不要使用“==”.(实际上==会出问题情况很少发生,而js的语法章节也会提及建议使用“===”) 等等导致规范过于冗长,在我看来,命名规范不应太多,而是将实地编码中最常用到的列出即可. 研究过一些框架低层代码.看完<编写可维护的代码>整理…