91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript繼承方法有什么

發布時間:2021-04-09 09:58:11 來源:億速云 閱讀:122 作者:啵贊 欄目:web開發

本篇內容介紹了“javascript繼承方法有什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

javascript繼承方法有:1、使用call()方法,可以編寫能夠在不同對象上使用的方法;2、apply()方法,語法“apply(用作 this 的對象,要傳遞給函數的參數的數組)”。

javascript繼承方法有什么

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

1、call() 方法

call() 方法是與經典的對象冒充方法最相似的方法。它的第一個參數用作 this 的對象。其他參數都直接傳遞給函數自身

function Huster(name,idNum,college)
    {        this.name = name;        
        this.idNum = idNum;        
        this.college = college;        
        this.course = new Array();    
        
        this.addCourse = function(course)//這個方法不能用prototype來定義,如果用的話,子類無法繼承該方法
        {                   //用原型prototype定義的方法可以用原型鏈來繼承,call()方法和apply()方法都無法繼承            this.course.push(course);
            console.log(this.course);
        };    
            
    }    
    
    function Autoer(name,idNum)
    {        
    this.college = ‘自動化‘;
        Huster.call(this,name,idNum,this.college);//Autoer使用call()方法來繼承 Huster
     if (typeof Autoer._initialized == "undefined") 
     { 
      Autoer.prototype.sayHobby = function() //自己的方法可以用原型鏈prototype定義
      { 
        alert(this.college+‘人喜歡擼代碼!‘);     
      }; 
      Autoer._initialized = true; 
     } 
  } 
   
  var autoer1 = new Autoer(‘偶人兒‘,‘U123456789‘); //聲明一個實例autoer1
  console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course); 
  autoer1.addCourse(‘logistics‘);//調用Huster的方法
  autoer1.sayHobby();    //調用自身的方法

2、apply() 方法

apply() 方法與call()方法幾乎一樣,唯一的區別就是apply()方法只有兩個參數,第一個用作 this 的對象,第二個是要傳遞給函數的參數的數組。也就是說apply()方法把call()方法的若干個參數放到一個數組里,傳遞給父類

function Huster(name,idNum,college){    
this.name = name;            
this.idNum = idNum;    
this.college = college;    
this.course = new Array();            
this.addCourse = function(course)//這個方法不能用prototype來定義,如果用的話,子類無法繼承該方法    
{                   //用原型prototype定義的方法可以用原型鏈來繼承,call()方法和apply()方法都無法繼承        
this.course.push(course);        
console.log(this.course);    
};                
}            
function Autoer(name,idNum)    
{        
this.college = ‘自動化‘;        
Huster.apply(this,new Array(name,idNum,this.college));//Autoer使用apply()方法來繼承 Huster     
if (typeof Autoer._initialized == "undefined")      
{       
Autoer.prototype.sayHobby = function() //自己的方法可以用原型鏈prototype定義      
{         
alert(this.college+‘人喜歡擼代碼!‘);           
};       
Autoer._initialized = true;      
}   
}      
var autoer1 = new Autoer(‘偶人兒‘,‘U123456789‘); //聲明一個實例autoer1  
console.log(autoer1.name,autoer1.idNum,autoer1.college,autoer1.course);   
autoer1.addCourse(‘logistics‘);//調用Huster的方法  
autoer1.sayHobby();    //調用自身的方法

“javascript繼承方法有什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺义区| 大化| 平遥县| 阿瓦提县| 威宁| 永靖县| 南岸区| 丰城市| 香河县| 秀山| 无锡市| 广河县| 松溪县| 石楼县| 新乡市| 嘉峪关市| 乌拉特中旗| 通山县| 林西县| 化德县| 临沭县| 邵阳县| 巴青县| 独山县| 揭西县| 吉首市| 嘉禾县| 建宁县| 同江市| 乌审旗| 深水埗区| 昂仁县| 波密县| 德昌县| 万安县| 呼和浩特市| 乌拉特中旗| 五峰| 珲春市| 阜康市| 鄄城县|