本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
JavaScript重构(十):强化对象封装和模块封装
1、类本身就是一种封装形式,先来看看最简单的封装,JavaScript中没有private关键字,对于私有成员,不如我们统一一个以下划线开头的命名来标识:
var User = function(name){
this._name = name;
this.getName = function(){
return _name;
};
};
2、不过,上面的办法还不 ...
JavaScript重构(汇总帖)
前一阵集中一段时间做了JavaScript的重构,留下了一点点脚印,在这里汇总一下。如果您对这一专题感兴趣,或者希望补充一些内容,欢迎留言,我会在后续更新进去。谢谢。
JavaScript重构(一):模块划分和命名空间
模块划分是JavaScript重构的原则之一,也是代码可维护性提升的一条重要途径。
JavaScript重构(二):JS的动态加载
很多JS framework都 ...
JavaScript重构(八):JSDoc和JSLint
JSDoc可以生成类似于JavaDoc一样的API文档,这对于前端开发是必不可少的。
下载jsdoc-tookit(http://code.google.com/p/jsdoc-toolkit/)和jsdoc-tookit-ant-task(http://code.google.com/p/jsdoc-toolkit-ant-task/),CSDN的转义功能有问题,所以把尖括号都换成了书名号: ...
JavaScript重构(七):重用老代码
在Java中,有这样一段老代码:
class Round{
public void drawRound(); //画圆
}
现在新代码希望能和它共存,使用一个Person的对象来控制,只不过,可 ...
JavaScript重构(六):利用继承来做事
终于要说到JavaScript的继承了,原型链继承是最常用的一种方式:
function Video(){};
function Movie(){};
Movie.prototype = new Video();
Movie.prototype.constructor = Movie; //不要丢失构造器
啰嗦一句,如果我拿到的是方法的实例,一样可以做继承:
func ...
JavaScript重构(五):利用原型和闭包,完成组件方法
var Player = (function(){
Player = function(){ //这只是个空壳
throw new Error("Can not instantiate a Player object.");
};
Player.MIN_EXTENDED_TIME = 1;
Player.MAX_EXTENDED_TIME = 3;
...
JavaScript重构(四):JavaScript编码规则
没有规矩,不成方圆,JavaScript带来了灵活性,也带来了不受控的变量和访问,所以要用规则限制它。一支成熟的团队,还是一支新鲜的团队,规则应当是不一样的,我只是列出一些常见的或者有效的办法,来约束跳跃的开发人员,思维可以任意飞跃,代码却要持续受控。当然,任何规则都是建立在一定的认知基础之上的,面向对象JavaScript的基础是必备的,否则一切无从谈起。
变量和方法控制:
模块开发不允 ...
JavaScript重构(三):JavaScript的测试
进行JavaScript重构时,我希望引入易于使用的测试框架来保证重构的顺利进行,未来能持续通过测试代码对JavaScript逻辑的正确性做保障。
JsUnit (http://sourceforge.net/projects/jsunit/,http://www.jsunit.net/)
JsUnit是一个独立的JavaScript单元测试框架,和JUnit差不多,没有上手难度,包括传统的se ...
JavaScript重构(二):JS的动态加载
前一节留下了一个问题,如果JS分门别类也清晰了,那我现在需要在必要的情况下才加载某一模块的JS,这个怎么实现呢?
方法一,最简单也是最容易被接受的方法,通过后台代码来控制,还是少些复杂的JS吧,通过一个标签、一个分支判断,就可以做到,何乐而不为呢?
方法二,如果要使用纯JS来控制,那么看看这样如何:
$.ajax(){
url:"xxx/play.js" ...
JavaScript重构(一):模块划分和命名空间
通常我们的团队中,开发人员在Java语言层面具备相当的技术素养,经验丰富,而且有许多成熟的、合理的规约,类型繁多的代码隐患检查工具,甚至在团队间还有计划内的评审和飞检。但是前端的代码不似后台,就像一个没人疼的孩子,不仅仅容易被低估、被轻视,导致质量低劣、可维护性差,技能上,更缺少优秀的前端开发人员。
JavaScript是前台代码中重要组成部分,随着版本的延续,产品越做越大,JavaScript层 ...
实战多系统通用功能抽取的设计思路
1.产品按指定的顺序显示。
业务逻辑大致如下,当前产品推出了多个套餐。套餐ID是从别人的接口中获取的,返回的是无顺序的。但是不排序的话,JSP页面上显示会很乱,这样有了对套餐排序的需求。
原来是在程序中定义了一个数组,以数组中套餐ID的顺序来排序,初步实现了套餐排序的功能。由于新套餐的推出较频繁,这样每次增加新套餐,数组就得做相应地改动,也就是每次都需要修改程序,生产系统的server也要重新启 ...