国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

利用javascript中的call實現繼承

2024-09-06 12:43:42
字體:
來源:轉載
供稿:網友
昨天阿丹傳了一個javascript中的重載例子給我,感覺不錯.雖然到現在還是不太明白.怎么實現的.但還是貼出來.
實現setTimeout傳object對象
看以下代碼實現向里面的function 傳參數
<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參考中的說明:調用一個對象的一個方法,以另一個對象替換當前對象。call([thisObj[,arg1[, arg2[, [,.argN]]]]]),但是沒有示例 
apply方法JScript參考中的說明:應用某一對象的一個方法,用另一個對象替換當前對象。apply([thisObj[,argArray]]) 
實際上這兩個的作用幾乎是相同的,要注意的地方是call(thisObj[,arg1[, arg2[,)中的arg參數可以是變量,而apply([thisObj[,argArray]])中的參數為數組集合。 

今早又看到一篇利用call實現繼承的例子.呵呵..也一并貼出來.這個例子比較簡單.就算是由淺入深吧
<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);

             }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桃园市| 石家庄市| 陇西县| 苍梧县| 六枝特区| 句容市| 宜都市| 健康| 开阳县| 定结县| 雷州市| 名山县| 满城县| 册亨县| 项城市| 普格县| 溆浦县| 平阳县| 冀州市| 年辖:市辖区| 贡觉县| 淮安市| 台湾省| 樟树市| 石阡县| 故城县| 永昌县| 姜堰市| 武穴市| 敖汉旗| 察隅县| 荣昌县| 财经| 新晃| 沅陵县| 于都县| 香格里拉县| 岐山县| 营口市| 龙南县| 叙永县|