在最近的编程实践中由闭包的使用引起了我对javascript代码可维护性的思考.面向对象的其中一个特性封装性通过封装可以降低类与类之间或模块与模块之间耦合性从而使我们的设计更加高内聚低耦合,在大规模的程序开发中这是度量程序可维护性的一个指标,在大量应用了基于javascript的RIA的项目中javascript代码的可维护性也变得越来越值得我们去关注.因为在javascript中没有类的概念,所以我通常会借用闭包来将数据和操作这些数据的方法封装在一起来解决设计中对象的高内聚和对象之间的松耦合的…
今天与一挚友加同事调试一段奇葩的javascript代码,在分析出结果后,让我萌生了写此篇文章的想法,如有不对之处望指正,也欢迎大家一起讨论.缩减后的js代码如下,你是否能准确说明他的输出值呢? function DemoFunction(){ this.init = function(){ var func = (function(va){ this.va = va; return function(){ va += this.va; return va; } })(function(va1,…
前言 这篇文章本应该在上一篇文章:使用更严格的JavaScript编码方式,提高代码质量之前发布,但当时觉得这篇文章太过基础,也就作罢.后来咨询了一些初级的开发者,他们觉得有必要把这篇文章也放上来.尽管这篇文章内容基础,但是很多初中级开发者还是会犯同样的错误,发布出来也算是再一次提醒. 良好的编码习惯,这是每个程序员应具备的最基本素质.无论是前端程序员还是后端程序员,都要遵循基本的规范,减少因代码混乱而造成难以维护的局面.要做到不管有多少人共同参与同一个项目,一定要确保每一行代码都像是同一个人编…
项目中有点javascript文件,javascript代码行数达到7000多行,维护很费力,主要体现在以下几个方面: 1,方法没有注释,没有注释方法的作用,从上到下罗列,很难知道这个方法应该啥时候调用: 2,过多的逻辑写在一个方法中,难以理解代码的执行逻辑,做了哪些事情: 3,同一个input元素(包括其他元素),在多个地方被修改,难以确定变量的变化过程: 4,代码中有很多无用的代码,导致难以厘清代码逻辑: 尝试改进的办法: 1,文章:GitHub的十大JavaScript项目 尝试学习下这些…
许多Javascript引擎都是为了快速运行大型的JavaScript程序而特别设 计的,例如Google的V8引擎(Chrome浏览器,Node均使用该引擎).在开发过程中,如果你关心你程序的内存和性能的话,你应该了解并意识 到,在你的代码背后,浏览器的JavaScript引擎中到底发生了什么事情. 不论的V8,SpiderMonkey(Firefox).Carakan(Opera).Chakra(IE)或者其它类型的引擎.了解引擎背后 的一些运行机制可以帮助你更好的优化你的应用程序.这并不是…
Google JavaScript代码风格指南 修正版本 2.28 Aaron Whyte Bob Jervis Dan Pupius Eric Arvidsson Fritz Schneider Robby Walker 每个风格点都有一个展开/收起按钮以便你可以得到更多的信息:▽. 你可以将全部展开或收起: ▽ 全部展开/全部收起 内容树 JavaScript语言规范 变量 常量 分号 嵌套函数 块内函数声明 异常处理 自定义异常 标准特性 基本包装类型 多级原型结构 方法定义 闭包 eva…
30段JavaScript代码——上篇 1.如何区分IE及非IE浏览器: if(!+[1,]){ //IE 11 不支持 alert("这是 IE 浏览器"): }else{ alert("这不是 IE 浏览器"): } 2.将日期直接转换为数值:  +new Date(); 3.非IE浏览器下将类数组对象 “arguments”转为数组: Array.prototype.slice.call(arguments); 4.最简单的选择运算符||: var a = 0…
本书介绍 JavaScript专业开发人员必须具备的一个技能是能够编写可测试的代码.不管是创建新应用程序,还是重写遗留代码,本书都将向你展示如何为客户端和服务器编写和维护可测试的JavaScript代码. 从减少代码复杂性的方法,到单元测试.代码覆盖率.调试.以及自动化,您将全面学到如何编写让你和你同事能够轻松修复和维护的JavaScript代码.测试JavaScript代码是一个复杂的过程.本书将在很大程度上帮你简化该过程. 目标读者 本书主要目标受众是那些想成为JavaScript专业开发人…
多年来,Javascript一直在web应用开发中占据重要的地位,但是很多开发者往往忽视一些性能方面的知识,特别是随着计算机硬件的不断升级,开发者越发觉得Javascript性能优化的好不好对网页的执行效率影响不明显.但在某些情况下,不优化的Javascript代码必然会影响用户的体验.因此,即使在当前硬件性能已经大大提升的时代,在编写Javascript代码时,若能遵循Javascript规范和注意一些性能方面的知识,对于提升代码的可维护性和优化性能将大有好处. 下面给出编写高性能的Javas…
每个人都有自己的编程风格,也无可避免的要去感受别人的编程风格--修改别人的代码."修改别人的代码"对于我们来说的一件很痛苦的事情.因为有些代码并不是那么容易阅读.可维护的,让另一个人来修改别人的代码,或许最终只会修改一个变量,调整一个函数的调用时机,却需要花上1个小时甚至更多的时间来阅读.缕清别人的代码.本文一步步带你重构一段获取位置的"组件"--提升你的javascript代码的可读性和稳定性. 本文内容如下: 分离你的javascript代码 函数不应该过分依赖…