1. 程式人生 > 程式設計 >在JavaScript例項物件中改寫原型方法詳情

在JavaScript例項物件中改寫原型方法詳情

目錄

    中,我們通常可以像下面的程式碼這樣來簡單地定義一個類:

    var sample = function() {
        // constructor code here 
    }
    
    sample.prototype.func1 = function() {
        // func1 code hehttp://www.cppcns.comre
    }
    
    sample.prototype.func2 = function() {
        // func2 code here
    }
    
    /* more sample prototype functions here... */
    

    然後使用下面的程式碼來例項化,並訪問其中的原型方法:

    var sampleInstance = new sample();
    sampleInstance.func1();
    sampleInstance.func2();
    // call more sample object prototype functions
    
    
    

    但是如果我們想改寫其中一個原型方法,並且不破壞原有的sample物件,如何來實現呢?一個最簡單的方法就是再構建一個類,使其繼承sample,然後在繼承類的原型方法中改寫基類的方法,就像下面這樣:

    var subSample = function() {
        // constructor codwww.cppcns.come here
    }
    
    // inherit from sample
    subSample.prototype = new sample();
    subSample.prototype.fun1 = function() {
        // overwrite the sample's func1
    }
    

    但是如果沒有構建繼承類,而想改寫原型方法,可以直接使用下面的程式碼:

    var sampleInstance = new sample();
    sampleInstance.func1 = fuhttp://www.cppcns.comnction() {
        sample.prototype.fun1.call(this); // call sample's func1
        // sampleInstance.func1 code here
    }
    
    
    

    我們重新定義了sample的例項物件的func1方法,並在其中訪問了其原型方法func1,然後又在其中添加了一些額外程式碼。通過這樣的方法,我們對sample

    的原型方法進行了擴充套件,並且沒有建立派生類,而且也沒有破壞sample的原型方法。

    到此這篇關於在Script例項物件中改寫原型方客棧法詳情的文章就介紹到這了,更多相關在JavaScript例項物件中改寫原型方法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!