中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      JavaScript中繼承的深入理解

      時間:2024-07-21 23:20:52 JavaScript 我要投稿
      • 相關推薦

      關于JavaScript中繼承的深入理解

        JavaScript中我們可以借助原型實現繼承。

        例如

        function baz(){this.oo="";}function foo(){}foo.prototype=new baz();var myFoo=new foo();myFoo.oo;

        這樣我們就可以訪問到baz里的屬性oo啦。在實際使用中這個樣不行滴,由于原型的共享特點(數據保存在了堆上),

        所有實例都使用一個原型,一但baz的屬性有引用類型就悲劇了,一個實例修改了其他實例也都跟著變了...wuwuwu

        自然就有了組合式繼承

        function baz(){this.oo="";}baz.prototype.xx=function(){}function foo(){baz.call(this);//第二次調用}foo.prototype=new baz();//第一次調用var myFoo=new foo();myFoo.oo;myFoo.xx;

        這樣就會有一個問題,代碼里也表明出來了,baz會被調用兩次,身為處女座的怎么可以允許呢..

        插一句,第二種方式就不用出現第一種方式的問題嗎?答案是不會的。

        原因是屬性的查找是先從對象自身開始,沒找到才會去原型中去找,call時就把屬性給繼承了。

        再插一句,那這樣只使用call繼承不就行了嗎?如果不使用原型這個是可行的,但是作為處女座怎么能不使用原型呢,

        在原型上方法是共享的,這樣性能就好了很多呀。

        寄生組合式繼承

        __extends=function (p,c){function ctor(){this.constructor=c;//賦值構造函數}ctor.prototype=p.prototype;c.prototype=new ctor();}function baz(){this.oo=[1];}baz.prototype.xx=function(){}__extends(baz,foo);function foo(){baz.call(this);}var myFoo=new foo();myFoo.oo;myFoo.xx;

        這樣不但解決了兩次調用的問題,還解決了對象調用構造函數時調用的是真實的創建對象的函數而不是原型鏈上其他的構造函數。

        代碼里有表明。

        構造函數是原型對象上的一個屬性,是對象的創建者。由于我們的原型屬性被從新賦值了所以構造函數時繼承來的。

        這里要說一下,對象是怎樣創建,也就是new都干了些什么。

        例如:

        var a=new b();

        其實是這樣的,a={};創建了一個給a,然后b.call(a);call里初始化a,在call之前還有一步,就是a的內部原型對象

        設置為b的原型屬性指向的原型對象。原型上有構造函數屬性,構造函數用來創建對象分配內存控件。

        大概就這些...看看時間也不早了,碎吧,保持平和的心態切勿浮躁,努力去改變明天,希望一切都會慢慢變好。

      【JavaScript中繼承的深入理解】相關文章:

      有關深入理解JavaScript中的并行處理的介紹10-14

      對javascript的理解08-08

      javascript面向對象中的對象怎么理解09-02

      淺談javascript中的單線程理解08-16

      淺談如何深入學習Javascript中的this關鍵字08-19

      理解JavaScript原型鏈教程09-02

      javascript的閉包概念怎么理解06-15

      JavaScript中的with關鍵字07-24

      在Java中執行JavaScript代碼07-14

      Javascript中typeof 用法歸納09-27

      主站蜘蛛池模板: 高清av一区二区三区在线| 永丰县| 国产毛片A啊久久久久| 丰满人妻无套中出中文字幕| 女同久久一区二区三区| 色综合999| 久久精品国产视频在热| 国产精品女同学| 罗平县| 色播中文字幕在线视频| 中文字幕无码免费久久| 诏安县| 富宁县| 国产一区二区a毛片色欲| 北岛玲日韩精品一区二区三区| 北岛玲中文字幕人妻系列| 日本一极品久久99精品| 人妖在线网国产一二三四| 郸城县| 上蔡县| 唐河县| 温州市| 茌平县| 葫芦岛市| 国产不卡一区二区av| 吉安县| 朝阳区| 高平市| 国产啪精品视频网站免| 特级毛片a级毛片在线播放www| 建昌县| 亚洲最稳定资源在线观看| 磐石市| 日本一区二区三区专区| 久久综合一本中文字幕| 亚洲av午夜成人片精品| 久久久久久久尹人综合网亚洲| 亚洲精品熟女乱色一区| 中文字幕精品一区二区日本| 太大太粗太爽免费视频| 一区二区在线亚洲av蜜桃|