日期:2014-05-16 浏览次数:20304 次
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的一个属性