设计原则:

1.原子思想:即每个function就做一件事;
2.归纳思想:将同一类的操作,全部整合到一起;
3.方便维护:可以便于后来人进行快速维护;
4.方便拓展:即可以根据每个不同的项目进行不同的更改;

5.通用前端设计模式:一些前端可以通用的设计模式

6.注意写好注释,将注释写的具体点;

具体实例
var gerry =
(function(){//创建一个独立的对象,注入所有的方法,包括你想抛出去和不想抛出去的var tool = {AAAA:function(){},BBBB:function(){console.log("我只想内部使用,不想给别人用");}};/** 该对象承载所有需要抛出去的对象*   1.该对象中的方法可以自己写*   2.该对象中的方法可以注入(例子中的tempObj.tool.AA)*   3.该对象也可以选择性抛出给使用者需要的方法,也可以隐藏(tool.BBBB)* */var tempObj ={//reader为一些初始化需要的操作,有时候会有注册事件等,或者一些预操作reader:function(){},//注入所有的选择器,方便选择器变化,直接修改该对象中的选择器,而不需要全局去更改selector:{mySelector:"#mySelector",  //原密码},//注入所有的接口地址,方便接口变化可以进行,快速变更,不需要全局找引用的对象interface:{loginUrl:"",},//注入page中所有的事件,统一管理,建议命名规范:事件_命名,例 click_loginregisterEle:{click_login:function(){//注册单击事件}},//注入所有ajax请求,页面所有请求,将在这里统一管理,建议命名规范:ajax_命名,例 ajax_login/** 该请求中有2种方案,看需求使用*  1.不公用一个请求方案*  2.公用一个请求,但是回调处理不一样* */ajaxRequest:{//不公用一个请求方案ajax_login:function(){$.post("","",function(data){tempObj.callback.call_login(data);});},//会有多个业务公用这个请求ajax_login_T:function(callback){//所有接口地址从interface中获取,callback中tempObj.callback中处理$.post("","",callback);},},//处理所有回调函数,针对一个请求,处理一个回调callback:{//不共用请求处理回调call_login:function(data){//处理回调},//公用请求处理回调call_login_T:function(){var temp = function(){};tempObj.ajaxRequest.ajax_login_T(temp);}},//所有使用的工具类,如果每个项目都单独的unit.js或者common.js等存放一些公共方法的,这里可以不使用// PS:这里存放的只是仅针对于这个页面处理的一些tool,一般没必要抛出去,不过看业务而定tool:{A:function(){console.log("我是自己写的方法");},AA:tool.AAAA,    //这是我想抛出去给别人用的东西},//临时缓存存放区域,仅针对本页面,如果跨页面请存放cookie或者localstorage等//主要解决有时候会使用页面控件display来缓存当前页面的一些数据temp:{},/** 业务使用区域,针对每个特别的业务去串上面所有的一个个原子*   因为上面所有的方法,只是做一件事,这边可以根据业务进行串服务,很简单的* */firm:{}};
/** 闭包抛出去的方法* */var outputObj =function(){//首先执行reader方法,初始化一些操作,比如注册事件啥啥啥的tempObj.reader();/** 抛出给别人使用的对象*   想给别人看和使用的东西,可以注入tempObj对象,就像tool中的AA的方式*   不想给别人看和使用的东西,就像内部tool对象中的BBBB方法,你内部可以使用,外部是无法引用的* */return tempObj;}//抛出你希望抛出去的对象,因为你掌控了所有,哈哈。return new outputObj();
})();

如何写出高效可维护并且规范的js代码相关推荐

  1. 深度学习研究生如何快速提升代码能力,写出高效的代码?

    深度学习代码与前端代码区别 深度学习的代码能力与开发后台或者前端的工程代码能力不是一个概念. 写前端代码:脑海中是整个工程的架构,写代码则是把这些架构用 code 具体化. 写深度学习代码:脑海中浮现 ...

  2. 如何写出高效的SQL脚本

    如何写出高效的SQL脚本 注:测试记录:每个表记录数:3040000. 如何写出高效的SQL脚本: 1.         设计如何满足SARG形式的SQL脚本 SARG的定义:用于限制搜索的一个操作, ...

  3. 如何写出高效的软件测试用例?

    如何写出高效的软件测试用例? 一级目录 二级目录 三级目录 一.什么是测试用例 二.如何编写测试用例 1.看怎样去实现覆盖需求所有测试点 2.挖掘需求外测试点 三.分享测试用例专项视频供大家学习 一级 ...

  4. 用php写出显示客户端ip与服务器ip的代码.,PHP面试题答案

    PHP面试题答案 1.求$a,$b,$c三个数中的最大值和最小值(5分) echo max($a,$b,$c); echo min($a,$b,$c); 2.echo().print().print_ ...

  5. 作为一名程序员,怎样写出高效简洁的代码?

    前言: Hello大家好,我是Dream .经常有朋友问我,自己写的代码太乱,虽然功能都能实现但是写的并不简洁,让人一眼看上去就会很难受,那如何去写出简洁优雅的代码呢?那今天我就来和大家分享一下一些写 ...

  6. 如何写出高效的软件测试用例,测试人都用得到

    要编写出高效的测试用例,需要搞清楚什么是测试用例,以及如何编写出高效的测试用例?接下来将从以下几个部分来进行展开 1.什么是测试用例 2.如何编写测试用例 一.什么是测试用例 测试用例 :为了特定目的 ...

  7. js调用android代码怎么写,Android端使用WebView注入一段js代码实现js调用android

    需求:为网页上个链接增加点击事件,但是这个链接无法增加js代码 url:http://public.rongcloud.cn/view/D4F444BE2D94D760329F3CF38B4AE35C ...

  8. C++在循环内和循环外定义变量的差异(如何写出高效的for循环)

    写这篇文章的原因是我在问答平台看到的一个问题: C++内层循环中定义变量和在外面定义比影响大吗? 问题来自:http://ask.csdn.net/questions/176270 例如: for(i ...

  9. 如何测试c程序的内存占用_如何写出高效的嵌入式C程序

    点击蓝字获取更多精彩信息 编写高效简洁的c语言代码,是许多软件工程师追求的目标.本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教. 第 1 招:以空间换时间 计算机程序中最大的矛盾是空间 ...

最新文章

  1. Rocksdb 内存“不释放”问题 分析
  2. 为什么redis是单线程的以及为什么这么快?
  3. 新华三,定义服务器虚拟化市场新格局
  4. 伪基站识别技巧(一)
  5. Linux USB札记
  6. os.path 模块
  7. 参数估计:矩估计和最大似然估计
  8. NSIS ---使用nsDialogs创建自定义页面,并获取输入到控件中的内容保存到一个XML文档中
  9. Oracle数据库数据恢复方法
  10. 大数据平台搭建技术底座 四行业迎来新机遇
  11. HTML5+CSS3基础响应式页面布局
  12. Android手机投屏利器scrcpy
  13. 修复win7更新服务器失败,Win7旗舰版系统Windows Update更新提示遇到未知错误的解决方法...
  14. JDK的可视化工具——Java监视与管理控制台(JConsole)。
  15. Word里输入带框的对号
  16. r语言导出文件为xlxs_R语言数据导出到Excel表格-如何将R语言中的表格数据输出为Excel文件...
  17. 智商黑洞(门萨Mensa测试)4
  18. 给女朋友明天一条贴心消息【公众号推送】
  19. ICPR 2022 | 第一届卫星视频运动目标检测与跟踪挑战赛正式开赛
  20. Python中的装饰器的简单介绍02

热门文章

  1. 程序三年,遇到的趣事盘点。
  2. 互联网大佬杨浩涌的创业历程,尽管遭遇合并但依旧辉煌
  3. pwn 学习笔记 格式化串计算偏移量
  4. 大促突围:京东到家基于Canal的数据异构设计
  5. 缓冲区溢出(栈溢出)实验 之 JMP ESP
  6. sass,less,stylus
  7. 学校校车运营各项安全管理制度_学校校车安全管理制度汇编
  8. java实现简单的图书管理系统(以及代码中用了特殊注释TODO,XXX,FIXME),compare接口
  9. 三明一中2021查询高考成绩,2021三明重点高中学校排名榜
  10. 上海计算机学会2023年3月月赛C++乙组T1卡片游戏