<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 });
    主站蜘蛛池模板: 亚洲AV日韩AV永久无码下载| 国产免费啪嗒啪嗒视频看看| 国产成人亚洲综合无码精品| 人妻18毛片a级毛片免费看| 在线a亚洲v天堂网2018| 深夜特黄a级毛片免费播放| 亚洲国产成人精品女人久久久 | 国产精品久久久久久亚洲影视| 免费在线观看的网站| 中文字幕精品三区无码亚洲| 最新中文字幕免费视频| 久久综合亚洲色hezyo| 亚洲一级片内射网站在线观看| 国产久爱免费精品视频| 亚洲AV永久无码精品成人| 永久免费视频网站在线观看| 亚洲AV无码专区在线亚| 国产成人aaa在线视频免费观看 | 四虎免费大片aⅴ入口| 婷婷国产偷v国产偷v亚洲| 亚洲国产精品日韩专区AV| 国产免费一区二区三区不卡| 亚洲精品成人久久| 性做久久久久免费观看| 中文字幕无码毛片免费看 | 亚洲另类无码一区二区三区| 免费在线观看理论片| a级毛片在线免费| 亚洲人成网网址在线看| 国产免费一区二区三区VR| 中国一级毛片免费看视频| 亚洲沟沟美女亚洲沟沟| 国产小视频在线观看免费| 在线免费观看h片| 中文字幕精品三区无码亚洲| 久久久久亚洲av成人无码电影| 99久久精品国产免费| 国产亚洲欧美日韩亚洲中文色| 亚洲精品成人网站在线观看| 美女网站免费福利视频| a级毛片免费网站|