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