国产探花免费观看_亚洲丰满少妇自慰呻吟_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);

             }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿松县| 新邵县| 临海市| 道真| 额敏县| 涟源市| 南京市| 林州市| 界首市| 安顺市| 克拉玛依市| 彭州市| 和林格尔县| 吉林省| 仙居县| 台中市| 冷水江市| 仁怀市| 雷州市| 缙云县| 大足县| 景德镇市| 屯门区| 金山区| 长治县| 社旗县| 随州市| 宽甸| 通江县| 芦溪县| 图木舒克市| 青岛市| 金堂县| 巴青县| 西华县| 东光县| 五莲县| 金坛市| 固安县| 天气| 道孚县|