Javascript中的原型和this指針

jopen 10年前發布 | 24K 次閱讀 JavaScript開發 JavaScript
1、Javascript中的原型:

原型prototype是Javascript中特有的一個概念。通過原型,Javascript可以實現繼承機制。

Javascript本身是基于原型的,每一個對象都有一個prototype屬性。而Object對象的prototype屬性為null。

下面來看一個使用原型實現繼承的例子:

1.1使用原型實現繼承:
 function Person(name){
    this.name = name;
    this.getName = function(){
        return this.name;
    }
}
function Artist(type){
    this.type = type;
    this.getType = function(){
        return this.type;
    }
}
Artist.prototype = new Person("arthinking");
var artist = new Artist("Guitar");
alert(artist.getType());  //本身就有type屬性
alert(artist.getName());  //從Person原型鏈上繼承到的屬性和方法
2、this指針:

Javascript中的this指針與傳統的面向對象中的有些不同。傳統的面向對象中this指針在類中聲明的,表示對象本身。

Javascript中this表示當前上下文,即調用者的引用。Javascript中this代表的對象不是根據函數的聲明而確定的,而是根據的調用而確定的。下面展示了一個函數中的this使用call指定具體代表的對象:

var test1 = {
    name : "test1"
}
var test2 = {
    name : "test2"
}
function getName(){
    return this.name;  //this根據傳調用該函數的上下文來確定的,定義該函數時,this指針并不確定
}
alert(getName.call(test1));

這里的call是Function的一個函數。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!