文件命名

页面、js文件命名:采用中划线连接方式,比如说: error-report.html

js文件夹命名:scripts

公共js命名:common.js

文件结构组织

每个页面中中独有的js文件,/scripts文件夹下js文件结构应与页面结构一致

JS语法

变量声明
function doSomethingWithItems(items) {

    var value = 10,    // 注释啊,注释啊,亲
result = value + 10 // 注释啊,注释啊 for (var i=0, len=items.length; i < len; i++) {
doSomething(items[i]);
}
}
所有函数内变量声明放在函数内头部,只使用一个 var,也必须使用var
标准变量采用驼峰标识
var thisIsMyName;
函数声明
var doSomething = function (item) {
// 内容
};
括号对齐

if (condition) {
  doSomething()
}
花括号必须要,即使内容只有一行
在方法之间、单行或多行注释前、逻辑块之间加入空行,增加可读性  
 逗号、分号后留一个空格
var values = [ 1, 2, 3, 4, 5, 6, 7 ],
  i, len; for (i=0, len=values.length; i<len; i++) {
  process(values[i]);
}
字符常量统一使用单引号'
var str = '123';
for-in
var prop;

for (prop in object) {

    // 注意这里一定要有 hasOwnProperty 的判断, 否则 JSLint 或者 JSHint 都会有一个 warn !
if (object.hasOwnProperty(prop)) {
console.log("Property name is " + prop);
console.log("Property value is " + object[prop]);
}
}
switch

switch (condition) {
case "first":
// code
break; case "third":
// code
break; default:
// code
}
switch和括号之间有空格
break之后跟下一个case中间留一个空行
构造函数,大写第一个字母
function Person(name) {
  this.name = name;
}
使用的ID的地方一定全大写
var goodID;
使用的URL的地方一定全大写
var reportURL;
常量采用大写字母,下划线连接的方式
var MAX_COUNT = 10;

页面js代码内部结构组织

在这,首先要说的是,我们是后端人员,在部门刚起步前后端未分离的情况下,负责了页面中js的编码

下面写的在前端看来是些很烂的东西,但路要一步步走,只能在考虑我们工作难度的基础上实现代码的部分规范

真正的前端甚至可以用MVC框架,但我们不可以,在这首先要考虑的是工作量与新人的适应性

页面js代码内部分为4部分

第一部分

<script language="javascript">
//唯一全局变量
var thisPage = {};
</script>

第二部分

/*页面数据复杂初始化或回填*/
(function ($) { //大多数页面此处为空,复杂回填在此进行,每个操作上方用/**/标明功能,内部用//注释 /*美化html控件*/
$(document).myFormElement(); })(jQuery);

第三部分

/*页面方法——基本用于事件绑定*/
(function ($) { //每个函数上方用/**/标明功能,内部用//注释 /*快捷搜索*/
thisPage.quickSearch = function(pageNum){
//内部实现
alert(pageNum);
}; })(jQuery);

第四部分

/*页面方法——事件绑定*/
(function ($) { //每个事件绑定上方用/**/标明功能,内部用//注释 /*搜索按钮点击事件*/
$(".qs").on('click', function(){
myIndex.quickSearch(1);
}) })(jQuery);

互联网部-供应商团队js规范的更多相关文章

  1. 前端开发规范:命名规范、html 规范、css 规范、js 规范

    上周小组的培训内容是代码可读性艺术,主要分享如何命名.如何优化代码排版,如何写好的注释.我们都知道写出优雅的代码是成为大牛的必经之路. 下面感谢一位前端开发小伙伴总结的前端开发规范,通过学习相关开发规 ...

  2. 中小型前端团队代码规范工程化最佳实践 - ESLint

    前言 There are a thousand Hamlets in a thousand people's eyes. 一千个程序员,就有一千种代码风格.在前端开发中,有几个至今还在争论的代码风格差 ...

  3. js规范

    js规范 Array 和 Object 直接量 为了避免这些歧义, 我们应该使用更易读的直接量来声明. var a = [x1, x2, x3]; var a2 = [x1, x2]; var a3 ...

  4. Git常用命令和Git团队使用规范指南

    转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...

  5. 【重点突破】—— Easy Mock的使用及Mock.js规范

    前言:在线使用Easy Mock可视化工具,可以提供快速生成“模拟数据”的持久化服务: Mock.js是一个JS插件,指定了一套规范,而Easy Mock工具就遵循这些规范.  一.Easy Mock ...

  6. 前端开发规范之命名规范、html规范、css规范、js规范

    在学习编程的时候,每次看到那些整齐规范的代码,心里顿时对这个程序员表示点点好感,有时,比如看到自己和朋友写的代码时,那阅读起来就是苦不堪言,所以,一些基本的开发规范是必须的,是为了自己方便阅读代码,也 ...

  7. iOS团队代码规范

    iOS团队代码规范 工程之始可能需要的工具: 1.使用CocoaPods类库管理工具.CocoaPods安装和使用教程. 2.下载安装注释插件VVDocumenter-Xcode. 一.项目结构管理 ...

  8. 腾讯Alloy团队代码规范

    概述 我个人很看重代码规范,因为代码是写给别人看的,按规范写别人才更容易理解.之前苦于没有代码规范的资料,现在在github上面看到了腾讯Alloy团队的代码规范,于是学习了一下,并记录下我自己还没怎 ...

  9. JS规范2

    百度SS Javascript编码规范 1.变量.方法命名必须匹配正则:/^[$_a-zA-Z]\w*$/ /** * 虽然Javascript引擎支持多种格式命名的变量, * 比如下面这样的变量,J ...

随机推荐

  1. Android LayerDrawable资源应用

    1.介绍 (1)常识 (2)特点 2.实例演示 <1>新建drawable文件 app--->src---->main---->res---->drawable , ...

  2. python学习,day2:列表的复制

    主要涉及列表的潜复制(第二层受后面修改的影响)和深复制(不受后面修改的影响) 代码如下 # coding=utf-8 # Author: RyAn Bi import copy names = ['A ...

  3. C#.net地址传参汉字乱码解决方案

    C#.net地址传参汉字乱码解决方案   web.config文件: <system.web> <globalization requestEncoding="GB2312 ...

  4. BZOJ - 3224 可持久化Treap 树形操作

    这个题目去年就做过了,这次稍微改了一下 都是基础操作 #include<iostream> #include<algorithm> #include<cstdio> ...

  5. HDU - 1525 博弈 暴力分析

    先来看看比较显然的几个局面 (a,0) 先手必败 (a,a) 先手必胜 (a,ak) 先手必胜 (a,ak+r),k>1 先手必胜,因为先手有主动权把(a,r)让给后手或留给自己 对于开局(a, ...

  6. HDU - 1223 DP 分类

    据说这个是经典问题 \(dp[i][j]=dp[i-1][j-1]*j+dp[i-1][j]*j\) \(dp[i][j]\)表示前i个数分为j个集合,[i-1][j-1]为插入小于号[i-1][j] ...

  7. UESTC - 1610 递推方程+矩阵快速幂

    感觉像是HDU Keyboard的加强版,先推出3张牌时的所有组合,然后递推出n张牌 看到n=1e18时吓尿了 最后24那里还是推错了.. (5行1列 dp[1][n],dp[2][n],dp[3][ ...

  8. apache 2.4 访问权限配置

    在apache 2.4里,访问权限配置与2.2不同,如果设置不对,则会报403错误,日志中会报 AH01630: client denied by server configuration.   [S ...

  9. PIE SDK矢量数据的查询

    1.功能简介 矢量数据查询有属性查询和空间几何查询,下面对矢量数据的属性查询和空间查询做介绍 2.功能实现说明 2.1. 矢量数据的属性和空间查询 2.2. 实现思路及原理说明 第一步 得到要查询的图 ...

  10. oracle sql命令

    set time on; 设置时间 alter table flashback_test enable row movement; 开启行移 select * from flashback_test ...