《编写可维护的JavaScript》——JavaScript编码规范(七)
UI层的松耦合
在web开发中,用户界面(UI)是由三个彼此隔离又相互作用的层定义的。
- HTML用来定义页面的数据和语义。
- CSS用来给页面添加样式,创建视觉特征。
- JavaScript用来给页面添加行为,使其具有交互性。
如果两个组件耦合太紧,则说明一个组件和另一个组件直接相关,这样的话,修改一个组件的逻辑,那么另外一个组件的逻辑也需要修改。
如果你能够做到修改一个组件而不需要修改其他的组件时,你就做到了松耦合。松耦合对于代码可维护性来说至关重要。
避免使用全局变量
在浏览器中,window对象往往重载并等同于全局对象,因此任何在全局作用域中声明的变量和函数都是window对象的属性,比如:
var color = "red";function sayColor(){alert(color);
}console.log(window.color); //"red"
console.log(typeof window.sayColor); //"function"
color和sayColor()两者都是window对象的属性,尽管我们并没有显示地执行给window对象挂载属性的操作。
当脚本中的全局变量和全局函数越来越多时,发生命名冲突的概率也随之增高,即很可能无意间就使用了一个已经声明了的变量。
一个依赖于全局变量的函数即是深耦合于上下文环境之中。如果环境发生改变,函数很可能就失效了。
单全局变量方式
“单全局变量”的意思是所创建的这个唯一全局对象名是独一无二的(不会和内置API产生冲突),并将你所有的功能代码都挂载到这个全局对象上。因此每个可能的全局变量都成为你唯一全局对象的属性,从而不会创建多个全局变量。
<!--
作者:纤锐
出处:http://www.cnblogs.com/beginner2014
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。谢谢合作。
-->
转载于:https://www.cnblogs.com/beginner2014/p/5485462.html
《编写可维护的JavaScript》——JavaScript编码规范(七)相关推荐
- JavaScript的编码规范
JavaScript 文件引用 JavaScript 程序应该尽量放在 .js 的文件中,需要调用的时候在 HTML 中以 < script src="filename.js" ...
- 浅谈 JavaScript 编程语言的编码规范--转载
原文:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/ 对于熟悉 C/C++ 或 Java 语言的工程师来说,Jav ...
- 浅谈 JavaScript 编程语言的编码规范
转自:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608 developerWorks 中 ...
- 网易前端JavaScript编码规范
在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊 ...
- java入职学习一之编码规范
编码规范 好的编码规范可以尽可能的减少一个软件的维护成本,并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护. 好的编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的 ...
- 企业级JAVA编码规范
好的编码规范可以尽可能的减少一个软件的维护成本,并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护: 好的编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的代码: 好 ...
- 项目开发中的编码规范
1.规范存在的意义: 好的编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护: 好的编码规范可以改善软件的可读性,可以让开发人员尽快 ...
- 软件工程之高质量代码(编码规范)
软件工程之高质量代码(编码规范) 软件编码规范是与特定语言相关的描写如何编写代码的规则集合. 编码规范的目的 是提高编码质量,避免不必要的程序错误,增强程序代码的可读性.可重用性和可移植性. Pyth ...
- JavaScript编码规范[百度]
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 单行注 ...
- 前端编码规范之JavaScript
上次浅谈了下关于CSS的编码规范,大部分童鞋持赞同意见,仍存在一些童鞋不太理解这些规范的意义. 如果是个人或者小作坊开发,其实这些所谓的编码规范也没啥意思,因为大家写好的代码直接就给扔到网上去了,很少 ...
最新文章
- 我的VC++——对话框中显示GIF格式的图片
- 想学python有什么用-python学来有什么用
- LR录制脚本中文乱码问题
- linux mariadb 升级,linux mariadb
- Java多对多关系示例
- OpenCV--求取图像多轮廓质心,并于图像上绘制显示质心及其坐标
- 王思聪被限制高消费后,官方终于回应:已有解决方案
- EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行
- 机器学习导论(五)-神经元网络
- C语言-除法和取模运算正负号问题
- 禅与维修摩托车的艺术_罗伯特-M-波西格
- 基于深度学习的自然场景文字识别系统研究 faster-RCNN + CRNN (一)
- windows主机和虚拟机设置桥接
- 【ESP】乐鑫系列物联网芯片
- 最新解决方法This template did not produce a Java class or an interface
- 【C++编程语言】严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C3848 具有类型“const MyCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool
- 嵌入式毕设分享 STM32 wifi照明控制系统 - 智能路灯(毕设分享)
- Linux入门到精通
- sql server 更新表,每天的数据分固定批次设置批次号sql
- HUOJ 1394 Minimum Inversion Number