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

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

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

      JS原型對象通俗"唱法"

      書上對于原型對象的說法給我整的眼花繚亂,完全不知道它在說什么,查了好多資料,終于有了些理解,下面我以通俗的大白話說說我對原型對象的理解.

       

      1.關于原型對象的重要知識點

               首先要知道一個很重要的知識點,一句話:所有對象都有原型對象.

       

      2. 對比其他語言的理解

               原型對象,就是其它語言中的類中的靜態屬性和靜態方法,總是是靜態-static就對了.原理是: 內存中只有一份.

       

      3. 在內存中的形象圖:

               首先,在產生js對象之前,我們需要創造一個構造函數(這都不知道,那就不要往下看了),如下:

      function Person(name_, age_) {
               this.name = name_;
               this.age = age_;
      }

      下面,我們就要new 對象了,這里,我們new三個(Person)對象,"張三" "李雷" "韓梅梅",他們來自同一個構造函數Person:

      內存中就這樣了,每個對象,都有自己的 name, age 內存.這里new了多少個對象,就要開辟多少塊name, age內存.

       

      看到這,應該還是比較好理解的. 下面我們添加一條屬性.location屬性,如下:

      function Person(name_, age_) {

      this.name = name_;

      this.age = age_;

      this.location = "地球";

      }

      這時候 我們在new這三個人. 內存情況如下:

      這里我們看,三個對象都有一個"地球"的內存空間.  這里你要動動大腦了, 三個人都有地球的內存,我們是不是可以這樣呢?

      你看這樣好不好呢?  這樣只需要一個地球,大家都可以用了.   看到這,好吧,公用的那個空間如果是個對象的話,就是所謂的原型對象了.餓?就這樣?

      是的,就這樣.

       

      原型對象,最重要的作用就是把常量和方法獨立到自身里.   供給其它 "自己的對象" 使用. 最后如圖:

       

       

      4. 從代碼的層次上介紹原型對象.

      上圖是內存中的對象,我們現在從代碼的從面操作.

       

      function Person(name_, age_) {

      this.name = name_;

      this.age = age_;

      this.location = "地球";

      }

      //  三個具體的對象

      var zhangsan = new Person("zhangsan", 21);

      var lilei = new Person("lilei", 21);

      var hanmeimei = new Person("hanmeimei", 21);

       

      // 他們的原型對象是

      Person.prototype.location = "地球";

      Person.prototype.killPerson = function() {

                                                     return "殺人";

                                             };

       

      這里有一個問題,我們知道原型對象,可是我們怎么訪問到原型對象里的屬性呢.  就是我們如何獲取到location ,和用 killPerson方法呢?

      請看:

               alert(zhangsan.location);

               alert(zhangsan.killPerson());

       

      這樣就可以訪問到了,不過前提是,你的對象屬性里面,沒有定義location和killPerson.不然會把原對象的覆蓋掉.   這里面涉及到原型問題即,

      在zhangsan.location的時候,首先,我們檢查zhangsan對象本身,從圖中我們知道,張三有 name, age 和prototype指針屬性.  并沒有location,找不到以后,它會繼續搜索原對象里面,看能否找到location屬性,如果有,就會調用原對象的屬性.

       

      所以alert(zhangsan.location) 會輸出   "地球"

      alert(zhangsan.killPerson() ) 會輸出   "殺人"

       

       

       

      以上是我個人對原型對象的理解,希望對大家有幫助.

      posted @ 2012-08-22 21:56  Green.Face.  閱讀(4487)  評論(7)    收藏  舉報
      主站蜘蛛池模板: 中文字幕制服国产精品| 东方四虎在线观看av| 99久久99这里只有免费费精品 | 西西人体大胆444WWW| 国产精品蜜臀av在线一区| 一区一区三区产品乱码| 久热99热这里只有精品| 久久久久久久久久久久中文字幕| 日本熟妇浓毛| 国产愉拍精品手机| 亚洲综合久久精品国产高清| 怀远县| 日本道不卡一二三区视频| 人妻中文字幕亚洲精品| 依依成人精品视频在线观看| 亚洲AV无码一二区三区在线播放| 99re视频在线| 中文字幕亚洲精品乱码| 高清精品一区二区三区| 亚洲国产av区一区二| 亚洲色欲色欱WWW在线| 无码日韩做暖暖大全免费不卡| 99视频在线精品国自产拍| 亚洲无线码一区在线观看| 日本高清视频网站www| 麻豆国产va免费精品高清在线| 午夜福利国产区在线观看| 99久久国产成人免费网站| 亚洲AV永久无码一区| 国产精品自拍一二三四区| 男女18禁啪啪无遮挡激烈网站| 综合激情网一区二区三区| 青青草无码免费一二三区| 国产另类ts人妖一区二区| 人妻加勒比系列无码专区| 国产超碰无码最新上传| 精品午夜福利在线视在亚洲| 无码h黄肉动漫在线观看| 国产成人精品一区二三区| 久久人体视频| 国产成人亚洲精品在线看|