<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      vivihoo03

      導航

      google closure--繼承模塊二:goog.base()demo分析

      昨天已經講到了goog.inherits(),主要負責通過為子構造函數原型對象通過原型鏈繼承父構造函數的原型對象的方法,完成繼承。這樣繼承只完成了原型對象的繼承,看看之前的那張圖:

      是不是感覺父構造函數好像沒什么用處啊,還記得上篇文章,構建一個超級對象的設想嗎?這個要依賴另一個API,goog.base().

      在看源代碼之前讓我們看看一個簡單的demo,溫習一下goog.inherit(),這個demo還可以幫助我們了解goog.base()可以做些什么。

      demo代碼:

      輸出結果:

      分析:

      先把goog.inherit()和goog.base()放在一邊,讓我們先分析一下這三個構造函數:A,B,C。

      A:

      構造函數:為new(構造)出來的新對象添加name屬性,并取名周杰倫

      原型對象:添加details方法,并在控制臺輸出調用該方法的對象的name的老婆是昆凌

      (不排除有人使用call,apply等方法冒充周杰倫。。。)

       

      B:

      構造函數:為new(構造)出來的新對象添加age屬性,并賦值為24

      原型對象:添加details方法,并在控制臺輸出,調用該方法的對象的name屬性的值的是一名歌手,年齡為該對象屬性age的值。

      這里有個疑問:該構造函數創建出來的對象是不足以執行其原型對象的方法,簡而言之,如果我們用B構造函數創建一個對象,這個對象是沒有name屬性,如果后面不給該對象添加name屬性,而去調用details的方法,在該對象中找不到name屬性從而產生錯誤。

       

      C:

      構造函數:為new(構造)出來的新對象添加height屬性,并復制為“173cm”。

      原型對象:details方法,輸出調用該方法的對象的媽媽是葉惠美,身高為該對象的height屬性值。

      這里與B相似,通過C構造函數構造出來的對象也是不足以滿足其原型對象的details的方法,因為C構造出來的對象沒有name屬性

       

      然后讓我們分析一下結果:

       

       person對象是通過A構造函數構造出來的,但是存在下列疑惑:

      1.Person對象為什么同時擁有,B構造函數,和C構造函數中為新對象添加的屬性

      2.為什么調用Person對象的details方法的時候不僅執行了構造函數A原型對象的details方法,同時還執行了B和C的原型對象的同名方法

      這就是goog.base的威力。

      goog.base()主要有2種使用情況:

      1.在構造函數中使用,比如:

      先看作用:

      找到A繼承的父構造函數B,并將當前作用域對象傳入B構造函數,并調用。這就可以解釋疑惑1中Person對象擁有B構造函數構建的age屬性,同時B中又將A中的作用域對象(Person)傳入并調用了其父構造函數C,所以person對象又有了height屬性。

      2.在構造函數原型對象的方法中使用,比如:

      在這里,goog.base()的第二個參數是需要調用該原型對象constructor指向的構造函數繼承的父構造函數的原型對象的方法名,所以這就很好的解釋了疑惑2,為什么執行了B原型對象,同時在B中又調用goog.base()所以又執行了C原型對象的details方法。

      這一章我們主要是,做了一個簡單的demo,并分析了goog.base()的兩個主要用途,及其效果,下面一章我們將著重分析goog.base()的源碼。

      posted on 2016-07-13 12:22  vivihoo03  閱讀(1089)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 蜜芽久久人人超碰爱香蕉| 国内精品久久久久影院蜜芽| 国产精品毛片大码女人| 久久av色欲av久久蜜桃网| 久久国产精品精品国产色婷婷| 国产丝袜在线精品丝袜不卡| 日本黄页网站免费大全| 精品日本免费一区二区三区| 亚洲国产精品黄在线观看| 成年视频人免费网站动漫在线| 国产精品高清一区二区三区不卡 | 伊人成人在线视频免费| 人妻系列中文字幕精品| 在线视频精品中文无码| 图片区小说区av区| 18禁一区二区每日更新| 亚洲国产成人久久一区久久| 亚洲成人av在线高清| 激情综合网五月婷婷| 免费人成再在线观看网站| 久久亚洲熟女cc98cm | 亚洲中文字幕久久精品品| 无码日韩精品一区二区三区免费| 大陆一级毛片免费播放| 亚洲色大成网站WWW永久麻豆| 国产精品青草久久久久福利99 | 日韩精品视频一二三四区| 成人国产精品免费网站| 中国女人内谢69xxxx| 国产精品亚洲av三区色| 亚州AV无码乱码精品国产| 日韩av综合免费在线| 久久综合给合久久狠狠狠88| 蜜臀av一区二区国产精品| 欧美成人h亚洲综合在线观看 | 国产精品自产在线观看一| 亚洲中文字幕无码中字| 欧美国产日韩久久mv| 无码熟妇人妻av在线电影| 国产自拍一区二区三区在线| 毛片在线看免费|