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

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

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

    美麗涵涵童裝店--說我博客名字,給你們打折!
    隨筆 - 82  文章 - 266  trackbacks - 0
    <2008年8月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456


    點擊這里給楊愛友發消息
    美麗涵涵童裝店
    說我博客名字,給你們打折!

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章檔案

    好友的BLOG

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    [轉載于 http://www.aspxhome.com/javascript/start/20078/148126.htm,并做了少量修改]

    this指針是面向對象程序設計中的一項重要概念,它表示當前運行的對象。在實現對象的方法時,可以使用this指針來獲得該對象自身的引用。

      和其他面向對象的語言不同,JavaScript中的this指針是一個動態的變量,一個方法內的this指針并不是始終指向定義該方法的對象的,在上一節講函數的apply和call方法時已經有過這樣的例子。為了方便理解,再來看下面的例子:

    <script language="JavaScript" type="text/javascript">  
    <!--  
    //創建兩個空對象  
    var obj1=new Object();  
    var obj2=new Object();  
    //給兩個對象都添加屬性p,并分別等于1和2  
    obj1.p=1;  
    obj2.p=2;  
    //給obj1添加方法,用于顯示p的值  
    obj1.getP=function(){  
          alert(this.p); //表面上this指針指向的是obj1  
    }  
    //調用obj1的getP方法  
    obj1.getP();  
    //使obj2的getP方法等于obj1的getP方法  
    obj2.getP=obj1.getP;  
    //調用obj2的getP方法  
    obj2.getP();  
    //-->  
    </script>
      從代碼的執行結果看,分別彈出對話框顯示1和2。由此可見,getP函數僅定義了一次,在不同的場合運行,顯示了不同的運行結果,這是有this指針的變化所決定的。在obj1的getP方法中,this就指向了obj1對象,而在obj2的getP方法中,this就指向了obj2對象,并通過this指針引用到了兩個對象都具有的屬性p。

      由此可見,JavaScript中的this指針是一個動態變化的變量,它表明了當前運行該函數的對象。由this指針的性質,也可以更好的理解JavaScript中對象的本質:一個對象就是由一個或多個屬性(方法)組成的集合。每個集合元素不是僅能屬于一個集合,而是可以動態的屬于多個集合。這樣,一個方法(集合元素)由誰調用,this指針就指向誰。實際上,前面介紹的apply方法和call方法都是通過強制改變this指針的值來實現的,使this指針指向參數所指定的對象,從而達到將一個對象的方法作為另一個對象的方法運行。

    每個對象集合的元素(即屬性或方法)也是一個獨立的部分,全局函數和作為一個對象方法定義的函數之間沒有任何區別,因為可以把全局函數和變量看作為window對象的方法和屬性。也可以使用new操作符來操作一個對象的方法來返回一個對象,這樣一個對象的方法也就可以定義為類的形式,其中的this指針則會指向新創建的對象。在后面可以看到,這時對象名可以起到一個命名空間的作用,這是使用JavaScript進行面向對象程序設計的一個技巧。例如:

    代碼片段

    var namespace1=new Object();  
    namespace1.class1=function(){  
         //初始化對象的代碼  
    }  
    var obj1=new namespace1.class1();  

      這里就可以把namespace1看成一個命名空間。  mootools中的FX就是一個命名空間。

    posted on 2008-08-06 22:33 楊愛友 閱讀(744) 評論(0)  編輯  收藏 所屬分類: java相關技術
    美麗涵涵童裝店
    親,說我博客名字,給你們打折!
    主站蜘蛛池模板: 亚洲精品久久无码| 两性色午夜免费视频| va亚洲va日韩不卡在线观看| 国产福利免费视频| 337p日本欧洲亚洲大胆色噜噜| 成年女性特黄午夜视频免费看| 一级日本高清视频免费观看| 中文字幕亚洲精品| 五月天婷亚洲天综合网精品偷| 午夜不卡久久精品无码免费| 亚洲丁香婷婷综合久久| 亚洲电影免费在线观看| 成人免费无码大片a毛片| 国产真人无码作爱视频免费 | 亚洲精品乱码久久久久久中文字幕 | 91九色视频无限观看免费| 亚洲区日韩精品中文字幕| 亚洲大尺度无码专区尤物| 在线观看国产情趣免费视频 | 又粗又大又猛又爽免费视频| 一区二区三区福利视频免费观看| 久久精品国产亚洲AV天海翼| 亚洲AV天天做在线观看| 国产在线观看免费不卡| 精品国产无限资源免费观看| 国产黄色片免费看| 涩涩色中文综合亚洲| 久久精品国产亚洲AV果冻传媒| 国产在线98福利播放视频免费| 91成人免费观看| 大妹子影视剧在线观看全集免费| 亚洲欧美成人综合久久久| 色播亚洲视频在线观看| 国产中文在线亚洲精品官网| 精品少妇人妻AV免费久久洗澡| 无码人妻久久一区二区三区免费| 一级黄色免费大片| 亚洲AV无码男人的天堂| 亚洲综合色丁香婷婷六月图片| 亚洲黄网站wwwwww| 亚洲男人天堂2017|