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

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

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

      深入理解javascript原型和閉包(6)——繼承

      為何用“繼承”為標題,而不用“原型鏈”?

      原型鏈如果解釋清楚了很容易理解,不會與常用的java/C#產生混淆。而“繼承”確實常用面向對象語言中最基本的概念,但是java中的繼承與javascript中的繼承又完全是兩回事兒。因此,這里把“繼承”著重拿出來,就為了體現這個不同。

       

      javascript中的繼承是通過原型鏈來體現的。先看幾句代碼

      以上代碼中,f1是Foo函數new出來的對象,f1.a是f1對象的基本屬性,f1.b是怎么來的呢?——從Foo.prototype得來,因為f1.__proto__指向的是Foo.prototype

      訪問一個對象的屬性時,先在基本屬性中查找,如果沒有,再沿著__proto__這條鏈向上找,這就是原型鏈

      看圖說話:

      上圖中,訪問f1.b時,f1的基本屬性中沒有b,于是沿著__proto__找到了Foo.prototype.b。

       

      那么我們在實際應用中如何區分一個屬性到底是基本的還是從原型中找到的呢?大家可能都知道答案了——hasOwnProperty,特別是在for…in…循環中,一定要注意。

       

      等等,不對! f1的這個hasOwnProperty方法是從哪里來的? f1本身沒有,Foo.prototype中也沒有,哪兒來的?

      好問題。

      它是從Object.prototype中來的,請看圖:

      對象的原型鏈是沿著__proto__這條線走的,因此在查找f1.hasOwnProperty屬性時,就會順著原型鏈一直查找到Object.prototype。

       

      由于所有的對象的原型鏈都會找到Object.prototype,因此所有的對象都會有Object.prototype的方法。這就是所謂的“繼承”。

      當然這只是一個例子,你可以自定義函數和對象來實現自己的繼承。

       

      說一個函數的例子吧。

      我們都知道每個函數都有call,apply方法,都有length,arguments,caller等屬性。為什么每個函數都有?這肯定是“繼承”的。函數由Function函數創建,因此繼承的Function.prototype中的方法。不信可以請微軟的Visual Studio老師給我們驗證一下:

      看到了吧,有call、length等這些屬性。

      那怎么還有hasOwnProperty呢?——那是Function.prototype繼承自Object.prototype的方法。有疑問可以看看上一節將instanceof時候那個大圖,看看Function.prototype.__proto__是否指向Object.prototype。

       

      原型、原型鏈,大家都明白了嗎?

      ---------------------------------------------------------------------------

      本文已更新到《深入理解javascript原型和閉包系列》的目錄,更多內容可參見《深入理解javascript原型和閉包系列》。

      另外,歡迎關注我的微博

      學習作者教程:《前端JS高級面試》《前端JS基礎面試題》《React.js模擬大眾點評webapp》《zepto設計與源碼分析》《json2.js源碼解讀

      posted @ 2014-09-18 20:17  王福朋  閱讀(66807)  評論(26)    收藏  舉報
      主站蜘蛛池模板: 欧美视频二区欧美影视| 电白县| 亚洲国产成人久久综合一区77| 在线 欧美 中文 亚洲 精品| 国产一区二区日韩经典| 婷婷六月色| 日本熟妇hdsex视频| 国产四虎永久免费观看| 91精品国产色综合久久不| 亚洲高清国产拍精品熟女| 国产蜜臀视频一区二区三区| 国产成人高清亚洲综合| a级国产乱理伦片在线观看al| 亚洲综合国产伊人五月婷| 爆乳日韩尤物无码一区| 伊人天天久大香线蕉av色| 特黄三级又爽又粗又大| 人妻无码| 亚洲蜜臀av乱码久久| 亚洲人成网站观看在线观看| 精品亚洲精品日韩精品| 最新国产精品拍自在线播放| 亚洲欧美日韩综合一区在线| 中文字幕日韩有码av| 黑人巨茎大战欧美白妇| 好男人日本社区www| 欧美福利电影A在线播放| 日韩深夜免费在线观看| 少妇高潮水多太爽了动态图| 肉色丝袜足j视频国产| 久久99久久99精品免视看国产成人 | 午夜福利日本一区二区无码| 国产卡一卡二卡三免费入口 | 亚洲香蕉av一区二区蜜桃| 国产日韩精品欧美一区灰| 人妻少妇| 无码一区二区三区久久精品| 国产精品视频一区二区不卡| 日本一道本高清一区二区| 婷婷99视频精品全部在线观看| 午夜免费福利小电影|