<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.inherits()

      最近在項目是使用了google closure框架,深入研究了一下源碼,先從最簡單的繼承系統吧。

      廢話不多說,closure繼承模塊主要有2個API:

      goog.inherits(childCtor,parentCtor);

      goog.base(me,opt_methodName,var_args);

      先看一下,goog.inherits的源碼

      goog.inherits = function(childCtor, parentCtor) {
      function tempCtor() {}; tempCtor.prototype = parentCtor.prototype; childCtor.superClass_ = parentCtor.prototype;//給子構造函數添加superClass_屬性,指向父構造函數的原型對象 childCtor.prototype = new tempCtor(); childCtor.prototype.constructor = childCtor; childCtor.base = function(me, methodName, var_args) {//子構造函數綁定base方法,調用父構造函數原型對象方法 // Copying using loop to avoid deop due to passing arguments object to // function. This is faster in many JS engines as of late 2014. var args = new Array(arguments.length - 2); for (var i = 2; i < arguments.length; i++) { args[i - 2] = arguments[i]; } return parentCtor.prototype[methodName].apply(me, args); }; };

        代碼中有一個小技巧,就是采用利用一個空構造函數,使子構造函數的原型對象只繼承父構造函數的原型對象,構造函數內部創建時將不綁定,目的很明確,通過原型鏈只繼承父構造函數的原型對象。

      這里還有2個值得注意的地方,一個是:childCtor.superClass_ = parentCtor.prototype,這個相當于在子構造函數上加一個指針superClass_指向父構造函數的原型,這個有什么作用呢?先不用著急,到后面自會揭曉。

      第二個指的注意的地方是,為子構造函數添加了一個名為base的方法(不要忘記函數是一等對象哦),可以通過childCtor.base(me,method,arg),me是子構造函數的實例對象,method是想要調取父構造函數原型對象的方法名,arg是傳入的參數,這個

      有點像通過子構造函數提供函數式調用父構造函數原型對象的方法。

        總結一下:

              通過goog.inherits()完成了:

               1."干凈"的繼承父構造函數的原型對象.

               2."武裝“了子構造函數,可以通過childCtor的base方法和所需方法名調用父構造函數原型對象的方法。

               3.為子構造函數新加了一個屬性,指向父構造函數的原型對象。

       

      疑問:在閱讀代碼的時候,一定會產生這樣的疑問,已經可以通過子構造函數的base訪問到父構造函數的相應方法,為什么還要為自構造函數添加一個superClass_的屬性指向父構造函數的原型對象呢?不是多次一舉了嗎?

      下一章將揭曉,別忘了還有一個goog.base()呢。

      看了這么多有木有同情父構造函數呢,父親奮斗了那么多年好不容易有了個prototype的小金庫,卻被兒子無情的壓榨,兒子已經享有繼承使用權了,還要自己已經有了個小金庫弄了個base的鑰匙直接用父親的小金庫。。。。。。

      可憐天下父母心啊,可是有沒有想過,假如父親不準備為自己創建一個實例,這個prototype小金庫有啥用呢,還不如給兒子用。。。。。給孫子用。。。。。

      有木有突然恍然大悟,原來千辛萬苦,只為一個實例。其實我猜想這段代碼的作者的想法是,通過這個簡單的api完成,多個構造函數構建一個“超級實例”的想法,可是有什么用處呢~請見下回分曉

       

      posted on 2016-07-07 17:46  vivihoo03  閱讀(1716)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 精品亚洲国产成人av在线| 无码专区 人妻系列 在线| 无码一区二区三区久久精品| 激情人妻自拍中文夜夜嗨| 加勒比无码专区中文字幕| 亚洲www永久成人网站| 一区二区三区四区五区自拍| 亚洲国产片一区二区三区| 亚洲一区二区在线无码| 国产福利社区一区二区| 国产亚洲精品成人aa片新蒲金| 中文字幕亚洲精品人妻| 国偷自产av一区二区三区| 婷婷色综合视频在线观看| 久热这里只有精品蜜臀av| 亚洲精品国产中文字幕| 成人国产精品中文字幕| 久久亚洲精品人成综合网| 亚洲男女羞羞无遮挡久久丫| 丁香花在线观看免费观看图片| 亚洲国产精品第一二三区| 国产三级精品福利久久| 日韩av无码中文无码电影| 毛片网站在线观看| 国产精品日韩av一区二区| 放荡的少妇2欧美版| 亚洲一区中文字幕人妻| 欧美丰满熟妇性xxxx| 国产精品13页| 国产精品福利中文字幕| 国产精品久久久久鬼色| 欧美一级黄色影院| 日本阿v片在线播放免费| 久久久久青草线蕉亚洲| 好姑娘高清影视在线观看| 都昌县| 国产熟女高潮一区二区三区| 久久午夜无码鲁丝片直播午夜精品| 亚洲日韩av无码一区二区三区人 | 亚洲激情视频一区二区三区| 亚洲中文字幕日产无码成人片|