欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用javascript中的call實現(xiàn)繼承

 更新時間:2007年01月22日 00:00:00   作者:  
昨天阿丹傳了一個javascript中的重載例子給我,感覺不錯.雖然到現(xiàn)在還是不太明白.怎么實現(xiàn)的.但還是貼出來.
實現(xiàn)setTimeout傳object對象
看以下代碼實現(xiàn)向里面的function 傳參數(shù)
<script type="text/javascript">
var _st = window.setTimeout;
window.setTimeout = function(fRef, mDelay) {
 if(typeof fRef == 'function'){
  var argu = Array.prototype.slice.call(arguments,2);
  var f = (function(){ fRef.apply(null, argu); });
  return _st(f, mDelay);
 }
 return _st(fRef,mDelay);
}
function test(x){
 alert(x);
}
window.setTimeout(test,1000,'fason');
</script>

call方法JScript參考中的說明:調(diào)用一個對象的一個方法,以另一個對象替換當前對象。call([thisObj[,arg1[, arg2[, [,.argN]]]]]),但是沒有示例 
apply方法JScript參考中的說明:應用某一對象的一個方法,用另一個對象替換當前對象。apply([thisObj[,argArray]]) 
實際上這兩個的作用幾乎是相同的,要注意的地方是call(thisObj[,arg1[, arg2[,)中的arg參數(shù)可以是變量,而apply([thisObj[,argArray]])中的參數(shù)為數(shù)組集合。 

今早又看到一篇利用call實現(xiàn)繼承的例子.呵呵..也一并貼出來.這個例子比較簡單.就算是由淺入深吧
<script language="javascript" type="text/javascript">

      function father(){//父類

             var self=this;                                  //私有變量,子類里不會繼承!

             var var_private="private variable";      //私有變量

             this.var_public="public variable";  //公有變量

             

             this.author="xling";

             this.test=function(msg){                  //公有方法

                   alert("該方法位于父類 :" + msg + "\n" + self.author);

             }

             

             var test2=function(){                      //私有方法,子類不能調(diào)用

                   alert("這個方法是父類的私有方法");

             }

      }

      

      function father2(){

             this.email="xlingFairy#hotmail.com";

      }

      

      function suber(){//子類

             father.call(this);//通過這一句來繼承父類(father)類的可見變量及方法(this)

      }

      

      function sun(){

             suber.call(this);

             father2.call(this);//和上面的一句放在一起,實現(xiàn)多重繼承!爽??!

      }

      

      var mySuber=new suber();

             mySuber.test("參數(shù)是從子類的實例里傳入的");

             //mySuber.test2(); //這一句會發(fā)生錯誤碼,因為test2是父類的私有類

             alert("父類的私有變量,子類不能讀取:" + mySuber.var_private);

             alert("父類的公有變量,子類可以讀取" + mySuber.var_public);

      

      var mySun=new sun();

             mySun.test("這個是從孫子級的實例里傳入的參數(shù)");

             alert("父類的私有變量,子類不能讀取:" + mySun.var_private);

             alert("父類的公有變量,子類可以讀取" + mySun.var_public);

             alert(mySun.email);

</script>

相關文章

  • javascript 實現(xiàn)頁面加載進度條代碼

    javascript 實現(xiàn)頁面加載進度條代碼

    javascript 實現(xiàn)頁面加載進度條代碼,需要的朋友可以參考下。
    2010-04-04
  • js實現(xiàn)復制粘貼的兩種方法

    js實現(xiàn)復制粘貼的兩種方法

    這篇文章主要為大家詳細介紹了js實現(xiàn)的兩種方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 淺談微信小程序flex布局基礎

    淺談微信小程序flex布局基礎

    這篇文章主要介紹了淺談微信小程序flex布局基礎,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • jstl中判斷l(xiāng)ist中是否包含某個值的簡單方法

    jstl中判斷l(xiāng)ist中是否包含某個值的簡單方法

    下面小編就為大家?guī)硪黄猨stl中判斷l(xiāng)ist中是否包含某個值的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • javascript獲取當前ip的代碼

    javascript獲取當前ip的代碼

    用js獲取當前網(wǎng)卡的ip地址,可以是局域網(wǎng)的。不過一般本地使用的。
    2009-05-05
  • js實現(xiàn)頁面多個日期時間倒計時效果

    js實現(xiàn)頁面多個日期時間倒計時效果

    這篇文章主要為大家詳細介紹了js實現(xiàn)頁面多個日期時間倒計時效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 利用javascript實現(xiàn)的三種圖片放大鏡效果實例(附源碼)

    利用javascript實現(xiàn)的三種圖片放大鏡效果實例(附源碼)

    這篇文章主要介紹了利用javascript實現(xiàn)的幾種放大鏡效果,很實用一款漂亮的js圖片放大鏡特效,常見于電商網(wǎng)站上產(chǎn)品頁,用來放大展示圖片細節(jié),很有實用性,推薦下載學習研究。文中提供了完整的源碼供大家下載,需要的朋友可以參考借鑒,一起來看看吧。
    2017-01-01
  • JS canvas實現(xiàn)畫板和簽字板功能

    JS canvas實現(xiàn)畫板和簽字板功能

    這篇文章主要為大家詳細介紹了JS canvas實現(xiàn)畫板和簽字板功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • setTimeout的延時為0時多個瀏覽器的區(qū)別

    setTimeout的延時為0時多個瀏覽器的區(qū)別

    一直比較迷惑:js的setTimeout到底會在什么時候執(zhí)行,如果執(zhí)行了,和主執(zhí)行腳本到底差多長時間
    2012-05-05
  • 值得分享的Bootstrap Table使用教程

    值得分享的Bootstrap Table使用教程

    一套值得分享和大家收藏的Bootstrap學習教程,完整的知識體系,系統(tǒng)的學習資料,幫助大家開啟Bootstrap Table學習之旅,享受學習的樂趣
    2016-11-11

最新評論