我思故我強

          js prototype

          1. function?Person(name,sex)?{?? //Person類的構造函數??? ??
          2. ???? this .name?=?name;??? ??
          3. ???? this .sex?=?sex;??? ??
          4. }??? ??
          5. Person.prototype.age?=? 12 ;??? //為Person類的prototype屬性對應的prototype對象的屬性賦值,??? ??
          6. ????????????????????????????? //相當于為Person類的父類添加屬性??? ??
          7. Person.prototype.print?=?function()?{? //為Person類的父類添加方法??? ??
          8. ????alert( this .name+ "_" + this .sex+ "_" + this .age);??? ??
          9. };??? ??
          10. ?? ??
          11. var?p1?=? new ?Person( "name1" , "male" );? //p1的age屬性繼承子Person類的父類(即prototype對象)??? ??
          12. var?p2?=? new ?Person( "name2" , "male" );??? ??
          13. ?? ??
          14. p1.print();?? //name1_male_12??? ??
          15. p2.print();?? //name2_male_12??? ??
          16. ?? ??
          17. p1.age?=? 34 ;? //改變p1實例的age屬性???p1屬性在不指向Person的prototype屬性 ??
          18. p1.print();?? //name1_male_34??? ??
          19. p2.print();?? //name2_male_12??? ??
          20. ?? ??
          21. Person.prototype.age?=? 22 ;?? //改變Person類的超類的age屬性??? ??
          22. p1.print();?? //name1_male_34(p1的age屬性并沒有隨著prototype屬性的改變而改變)??? ??
          23. p2.print();?? //name2_male_22(p2的age屬性發生了改變)??? ??
          24. ?? ??
          25. p1.print?=?function()?{?? //改變p1對象的print方法??? ??
          26. ????alert( "i?am?p1" );??? ??
          27. }??? ??
          28. ?? ??
          29. p1.print();?? //i?am?p1(p1的方法發生了改變)??? ??
          30. p2.print();?? //name2_male_22(p2的方法并沒有改變)??? ??
          31. ?? ??
          32. Person.prototype.print?=?function()?{? //改變Person超類的print方法??? ??
          33. ????alert( "new?print?method!" );??? ??
          34. }??? ??
          35. ?? ??
          36. p1.print();?? //i?am?p1(p1的print方法仍舊是自己的方法)??? ??
          37. p2.print();?? //new?print?method!(p2的print方法隨著超類方法的改變而改變) ?

          posted on 2009-08-07 13:28 李云澤 閱讀(1660) 評論(0)  編輯  收藏 所屬分類: javascript

          主站蜘蛛池模板: 阿拉尔市| 綦江县| 项城市| 凤山市| 阳江市| 三明市| 甘谷县| 八宿县| 永康市| 洛南县| 镇沅| 和林格尔县| 宁晋县| 云龙县| 西吉县| 陈巴尔虎旗| 开化县| 朝阳区| 巴林左旗| 赤城县| 长白| 岳池县| 渝中区| 仁寿县| 新郑市| 双鸭山市| 余姚市| 九龙县| 商河县| 龙陵县| 长垣县| 惠水县| 东海县| 思茅市| 朝阳市| 通州市| 德格县| 亚东县| 葵青区| 苏尼特右旗| 奉新县|