关于Ext弹出多个Ext.MessageBox和她的结构1

关于Ext弹出多个Ext.MessageBox和她的结构

Ext.MessageBox是一个匿名函数,所以我们不能通过new的方式实现
Ext.MessageBox = function(){
  var varObj1,
      varObj1;
  var test1 = function(){}//匿名函数
 
return{
   show:function(){

   },
   alert : function(title, msg, fn, scope){
            this.show({
                title : title,
                msg : msg,
                buttons: this.OK,
                fn: fn,
                scope : scope,
                minWidth: this.minWidth
            });
            return this;//返回当前对象(个人认为)
        }
}
}()//匿名函数并在js一加载就初始化

以这样的方式,很好的控制了作用域的问题,让外部不能访问这个函数的相关方法,感觉这个函数,就像java里的静态类,js一加载就执行初始化涵数,同时里面的方法是私有的,只提供return{}json对象里提供的方法可以供外部访问
Ext.MessageBox.alert()/confirm()/prompt()等,实际就是接收一个json的参数,然后再调用Ext.MessageBox的show()函数,详细可以去看一下ext-all-debug.js里的Ext.MessageBox
我目前看的是Ext3.3.1的版本,我一般是有什么开源的项目这些,先写例子,然后熟习了就开始学习下源代码,同时经过这些年的开发学习,个人觉得不管你学得再,也不如学习能力和沟通能力,一般我们在项目开发中,不会拿多少时间让你专门来学习你所接触的新技术,一般都是现学现用,这时就是锻炼你学习能力和沟通能力的时候,应当ext3.3.1和别的版本里的Ext.MessageBox没多大变化,这个我没详细去研究,
而show()里面获得弹出的层是通过调用她的getDialog()获得一个window来实现的,里面判断了window的对象是否有,
没有就创建,有就直接返回,所以Ext.MessageBox操作的就是一个window对象,所以我们要实现多个像alert这样的
弹出,个人认为就只有new 一个window来实现

你可能感兴趣的:(json,ext)