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