JAVA & XML & JAVASCRIPT & AJAX & CSS

          Web 2.0 技術(shù)儲(chǔ)備............

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            77 隨筆 :: 17 文章 :: 116 評(píng)論 :: 0 Trackbacks
          ?1?var?ClassUSA=function()
          ?2?
          ?3?{
          ?4?
          ?5???this.value='USA';
          ?6?
          ?7???this.getOtherValue=function()
          ?8?
          ?9???{
          10?
          11???}
          12?
          13?}
          14?
          15?var?ClassChina=function()
          16?
          17?{
          18?
          19???this.value='China';
          20?
          21???this.show=function()
          22?
          23???{
          24?
          25?????document.write(this.value);
          26?
          27???}
          28?
          29?}
          30?
          31?var?USA=new?ClassUSA();
          32?
          33?var?China=new?ClassChina();
          34?
          35?<需求一>在document上顯示USA的value.
          36?
          37?方案一:
          38?
          39?USA.show=China.show;
          40?
          41?方案二:
          42?
          43?China.show.apply(USA);
          44?
          45?方案一使USA擁有了方法show,而方案二沒有使USA擁有方法show.
          46?
          47?<需求二>
          48?
          49?使USA的show方法顯示China的value.(有這樣的需要.只是這個(gè)例子不是很恰當(dāng).這里先不考慮這些.)
          50?
          51?有兩個(gè)要點(diǎn),一是要使USA擁有show方法,二是要顯示的不是USA的value而是China的value.
          52?
          53?方案一:
          54?
          55?給China增加方法:
          56?
          57?ClassChina.show2=function()
          58?
          59?{
          60?
          61???return?function(){return?this.value;};
          62?
          63?}
          64?
          65?使用:
          66?
          67?USA.show=China.show2.apply(China);
          68?
          69?USA.show();
          70?
          71?方案二:
          72?
          73??
          74?
          75?Function.prototype.bind=function(object)
          76?
          77?{
          78?
          79?????var?_method=this;
          80?
          81?????return?function(){return?_method.apply(object);};
          82?
          83?}//簡化的bind的,還應(yīng)該加入?yún)?shù)傳遞.
          84?
          85?USA.show=China.show.bind(China);
          86?
          87?使用:
          88?
          89?USA.show();
          90?
          91??
          92?
          93?OVER.
          94?
          posted on 2006-08-16 09:40 Web 2.0 技術(shù)資源 閱讀(1283) 評(píng)論(1)  編輯  收藏 所屬分類: Javascript

          評(píng)論

          # re: JAVASCRIPT & 動(dòng)態(tài)綁定 & 閉包prototype 2008-11-28 10:23 clue
          哇,第一次知道有這種方法!

          十分感謝~  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 临泉县| 西乌珠穆沁旗| 江阴市| 萨迦县| 修文县| 中宁县| 财经| 镇坪县| 青岛市| 镇沅| 营口市| 买车| 玉龙| 河东区| 海阳市| 阿鲁科尔沁旗| 呼图壁县| 乌什县| 吐鲁番市| 灯塔市| 古浪县| 岗巴县| 蒙城县| 诸暨市| 吐鲁番市| 盐边县| 太仆寺旗| 咸宁市| 博客| 枣阳市| 景东| 霍邱县| 西峡县| 涟水县| 长宁县| 天水市| 方城县| 岳池县| 萨嘎县| 甘泉县| 永登县|