日期:2014-05-16  浏览次数:20304 次

js设计功能原则

1.项目中的非公用的功能模块,默认不用加载,等到用的时候才加载,使用init方法控制各个模块的加载顺序;

?

2.关于匿名内部类,它里面的局部变量,对内部是一直存在的,不会消失

? eg:(function() { var a = 1 ; } )();? 此变量即使该方法执行完了,如果在内部引用全局变量,仍然可以访问它

????? 如: Ext.namespce("Geo.map.a");

??????(function() { var a = 1 ;?? Geo.map.a = a} )();?

3.在开发中如果既有html又有js,则在设计的时候应尽量将html和js分开编写,减少耦合度

4.在js中出现比较多的if else时,可以用json结果取代它,比如:

supporseService? = {

?? "wfs" : funciton() {? },

?? "wmts" : function() {}

?

}

5.这个是个人观点:在开发中如果用到其他方法或模块中的变量时,如果该变量变化可能比较大的话,尽量以参数的形式传递,不要直接将其他模块的变量或方法写在本方法内部

6.ajax框架都提供了改变调用方法对象引用的函数,extjs是使用createDelegate,例如:

var sayHi = function(name){
       alert('Hi, ' + name + '. You clicked the "' + this.text + '" button.');
}
var btn = new Ext.Button({
    text: 'Say Hi',
    renderTo: Ext.getBody()
});
btn.on('click', sayHi.createDelegate(btn, ['Fred']));

?

?7.在设计Ui时,UI要与功能尽可能的分开,减少耦合度,设计UI时,先搭建大的架子,再慢慢细化里面的内容

?8.若要以非法字符作为js变量名,可以以window["ES:11"]的格式,window["ES:11"]表示ES:11是window的一个属性