+ -
当前位置:首页 → 问答吧 → 初学ExtJS的一点疑惑。

初学ExtJS的一点疑惑。

时间:2011-10-10

来源:互联网

EXT在页面加载完后掉用函数显示窗口
JScript code

        function showWindow(){
            var win = new Ext.Window({
                width:400,
                height:500,
                title:"My Ext Window"
            });
            win.show();
        }
        
        Ext.onReady(showWindow);  


为什么onReady调用showWindow没有括号,为什么下面就不行
JScript code

  Ext.onReady(showWindow());


以前一般用下面的方法调用
JScript code

        Ext.onReady(function(){
                showWindow();
            }); 



这里为什么又有括号?

作者: guangmingguangming   发布时间: 2011-10-10

因为Ext.onReady中的参数是要执行的函数 其在函数内部会执行该函数 

所以Ext.onReady(函数名) 或者 Ext.onReady(function(){ 函数名(); })

作者: fanchuanzhidu   发布时间: 2011-10-10

JScript code
 onDocumentReady : function(fn, scope, options){
            if(docReadyState){ 
                docReadyEvent.addListener(fn, scope, options);
                docReadyEvent.fire();
                docReadyEvent.clearListeners();
                return;
            }
            if(!docReadyEvent){
                initDocReady();
            }
            docReadyEvent.addListener(fn, scope, options);
        },


这是他的源码 相关函数体在这就不给楼主展现了 你可以在Ext-all.js中看 fn就是你的入口函数 他是一个函数名 而不是函数()

作者: fanchuanzhidu   发布时间: 2011-10-10

JScript code
 Ext.onReady(function(){
                showWindow();
            }); 


这样写 里边的function(){ showWindow() } 这是一个匿名函数 与单纯的showWindow等价

不知我这3楼的回复可让楼主满意否?

作者: fanchuanzhidu   发布时间: 2011-10-10

热门下载

更多