您好,登錄后才能下訂單哦!
本篇內容介紹了“javascript繼承方法有什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
javascript繼承方法有:1、使用call()方法,可以編寫能夠在不同對象上使用的方法;2、apply()方法,語法“apply(用作 this 的對象,要傳遞給函數的參數的數組)”。
本教程操作環境: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繼承方法有什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。