<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Javadream

    A long way and a dream.

    Ext 2 學習筆記(二):Ext命名空間

    Posted on 2008-02-11 11:19 oxl 閱讀(1661) 評論(0)  編輯  收藏 所屬分類: 技術感語
     1 var btn1Text = "Hello, world.";
     2 
     3 // 填充圖片的本地引用
     4 Ext.BLANK_IMAGE_URL = '../ext/resources/images/default/s.gif';
     5 
     6 // 申明名字空間,用于下面的定義。
     7 Ext.namespace("myNameSpace");
     8 
     9 // 定義名字空間。
    10 // 注意這里,因為function是立即運行的(因為最后還有個括號),所以myNameSpace.app得到的是這個函數返回的結果。
    11 // 因為函數內定義的變量是不能被外部訪問的,利用這種方式可以把變量定義為私有的方式。
    12 // 因為返回的是一個對象,所以app得到的結果就是一個對象,所以就可以通過.運算符得到這個返回對象的變量和方法,
    13 // 這樣就可以利用這點申明為公用的變量。
    14 myNameSpace.app = function() {
    15     // 私有變量
    16     var btn1;
    17     var privVar1 = 11;
    18     
    19     // 私有函數
    20     var btn1Handler = function(button, event) {
    21         // 這里很巧妙,雖然表面上說是私有函數可以訪問私有變量,可是這里利用了函數棧的概念,
    22         // 即函數可以訪問上一層函數定義的變量,這里的privVar1就是上一層函數中定義的變量了。
    23         alert('privVar1=+ privVar1);
    24         
    25         // 因為這里的this指向的window對象,所以這里的this.btn1Text為undefined.
    26         // 當把它賦給一個對象的時候,this指向這個對象,也就是像下的調用一樣。    
    27         alert('this.btn1Text=+ this.btn1Text);
    28     };
    29     
    30     // 公共空間
    31     return {
    32         btn1Text: 'Button 1',
    33         
    34         init: function() {
    35             btn1 = new Ext.Button({
    36                 renderTo: 'btn1-ct',
    37                 text: this.btn1Text,
    38                 handler: btn1Handler,
    39                 scope: this
    40             });
    41             
    42             // 調用btn1Handler函數,這里函數里的this指向的是window
    43             btn1Handler();
    44         }
    45     };
    46 }();
    47 
    48 Ext.apply(myNameSpace.app, {
    49     btn1Text: "Hello, Ext 2.0",
    50     
    51     // 這里所說的重寫特權函數也無法訪問私有變量或私有函數,其實是因為他不在函數上下文,無法訪問函數上一層定義的變量而已。
    52     init: function() {
    53         try {
    54             btn1 = new Ext.Button({
    55                 renderTo: 'btn1-ct',
    56                 text: this.btn1Text,
    57                 handler: btn1Handler,
    58                 scope: this
    59             });
    60         } catch (e) {
    61             alert('錯誤: "' + e.message + '" 發生在行: ' + e.lineNumber);
    62         }
    63     }
    64 });
    主站蜘蛛池模板: 一级毛片免费播放| 18禁无遮挡无码网站免费| 久久aa毛片免费播放嗯啊| 亚洲精品综合久久| 亚洲国产美国国产综合一区二区| 亚洲黄色三级网站| 黄色网址大全免费| 污污网站免费观看| 亚洲一区二区三区高清| 男女男精品网站免费观看| 亚欧色视频在线观看免费| 亚洲成人免费电影| 国产在线国偷精品产拍免费| 亚洲熟妇自偷自拍另欧美| 日本一线a视频免费观看| 久久精品国产精品亚洲艾草网| 免费av一区二区三区| 亚洲国产成人a精品不卡在线| 免费人妻精品一区二区三区| 中文字幕亚洲乱码熟女一区二区| 免费a级毛片无码a∨免费软件| 亚洲av无码一区二区乱子伦as| 国产妇乱子伦视频免费| 亚洲av永久中文无码精品综合| 国产1024精品视频专区免费| 久久亚洲精品AB无码播放| 国产亚洲精品国产福利在线观看 | 国产成A人亚洲精V品无码性色| 国产成人精品无码免费看| 亚洲人成网站在线观看播放青青| 另类免费视频一区二区在线观看| 亚洲国产综合精品| 又粗又硬免费毛片| 男人j进入女人j内部免费网站 | 亚洲成AV人片天堂网无码| 国产va精品免费观看| 国产精品免费大片一区二区| 亚洲欧洲精品国产区| 免费A级毛片在线播放不收费| 国偷自产一区二区免费视频| 亚洲中文字幕无码久久2020|