我目前正在使用Javascript中的顯示原型模式的一些概念和語法。你們能幫我理解嗎?如何使用顯示原型模式在內部調用重寫方法
我想實現的是:從基類的另一個方法調用重寫的方法。
我怎麼做的:
基類:
var Base = function() { //... }; Base.prototype = function() { var init = function() { console.log('init'); customInit.call(this); }, customInit = function() { console.log('custom init source'); }; return { init: init, customInit: customInit }; }();
擴展類:
var Extended = function() { //... }; Extended.prototype = new Base(); Extended.prototype.customInit = function() { console.log('custom init extended'); };
呼叫到擴展類:
window.addEventListener('load', function(){ var myObject = new Extended(); myObject.init(); myObject.customInit(); });
從類以外的customInit
調用執行方法(我想)的覆蓋版本中,而來自內部的類仍然調用該方法(我想不是的「基地」版本通話)。
這是正常的嗎?有沒有什麼解決方法來實現這一目標?
正是我所錯過的。謝謝 :) – Yosko