JavaScript類的設(shè)計(jì)模式

          1、構(gòu)造函數(shù)+原形(prototype)
          ?????????
          ??????????
          ?1?//定義一個(gè)類class?
          ?2?function?class(sample,){??//構(gòu)造函數(shù)?
          ?3????someProperty=sample;
          ?4????//其他屬性
          ?5?}?
          ?6?
          ?7?//通過指定prototype對(duì)象來實(shí)現(xiàn)類的成員定義?
          ?8?class.prototype={?
          ?9???someMethod:function(){?
          10?????//方法代碼?
          11???},?
          12???…//其他方法?
          13?}?

          2?、構(gòu)造函數(shù)
          ??????
          ??
          ?1?function?class(sample,){
          ?2?????????someProperty=sample;
          ?3?????????…//其他屬性
          ?4?????????//如果_init未定義,構(gòu)造函數(shù)將用原形方式繼續(xù)定義對(duì)象的方法,_init設(shè)置為true
          ?5?????????//用來判斷是否給原形賦予了任何方法,
          ?6?????????//內(nèi)部的函數(shù)只創(chuàng)建并賦值一次
          ?7?????????if(typeof?_init=="undefined"){
          ?8??????????????class.prototype={
          ?9??????????????????someMethod:function(){
          10??????????????????????????//方法代碼?
          11??????????????????????????????????},?
          12???????????????????????…//其他方法???????????????
          13?????????
          14?????????}
          15?????????_init=true;
          16?????????};
          17?????}

          ???兩種模式都類似于傳統(tǒng)意義面向?qū)ο笳Z言中類的實(shí)現(xiàn),當(dāng)new一個(gè)對(duì)象時(shí),每個(gè)對(duì)象都擁有自己的屬性,同時(shí)方法是函數(shù)的引用。所以所有的函數(shù)多只創(chuàng)建一次,而每個(gè)對(duì)象擁有自己對(duì)象屬性實(shí)例。
          posted on 2006-12-04 09:08 windfree 閱讀(452) 評(píng)論(0)  編輯  收藏 所屬分類: javascript
          主站蜘蛛池模板: 陆川县| 城市| 两当县| 枣阳市| 蒙自县| 潞城市| 开化县| 嘉荫县| 乌拉特后旗| 衡阳县| 武陟县| 休宁县| 临朐县| 江山市| 桐梓县| 苍山县| 鹤岗市| 班戈县| 庐江县| 奎屯市| 邵武市| 临江市| 灵川县| 朝阳市| 始兴县| 囊谦县| 沁源县| 德化县| 深圳市| 夏河县| 于田县| 安新县| 出国| 河西区| 垣曲县| 调兵山市| 平阴县| 江山市| 龙海市| 绥滨县| 泽库县|