欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript 原型學(xué)習(xí)總結(jié)

 更新時間:2010年10月29日 21:04:04   作者:  
每個對像都有一個隱慝的屬性用于指向到它的父對像(構(gòu)造對像的函數(shù))的原型(這里稱為父原型或隱式原型),并從中繼承它的屬性和方法
每個對像都有一個隱慝的屬性用于指向到它的父對像(構(gòu)造對像的函數(shù))的原型(這里稱為父原型或隱式原型),并從中繼承它的屬性和方法 [函數(shù)對像除了父原型引用外,還有一個顯式的原型引用],在一般情況下,對像的父原型是不可以訪問的,而函數(shù)對像的顯式原型可以通過FunctionName.prototype進(jìn)行訪問 [在FireFox中你可以通過對像的__proto__屬性來訪問對像的父原型]   

  這個原型屬性本身又是一個Object類型的對像,因此可以給這個原型屬性添加任意的屬性和方法 讓實例對像來繼承它們

如: 一個String類型的對像的原型為String.prototype,如果我們想要給String類型的對像添加一些自定義的方法,那我們可以這樣來實現(xiàn)(這里以添加一個類式VBscript中的trim方法為例)
復(fù)制代碼 代碼如下:

String.prototype.trim=function(){
return this.replace(/^\s*|\s*$/g,"")
}
// " jiangsk540 ".trim();//return "jiagnsk540"

原型除了提供以上的特性之外,它還提供了一群同類實例對像共享屬性和方法的機(jī)制 [也就相當(dāng)于靜態(tài)屬性或靜態(tài)函數(shù),無論用構(gòu)造函數(shù)創(chuàng)建了多少個實例對像,在原型上定義的屬性和方法從頭到尾只定義了一次,所有實例對像都共享使用這一個屬性或方法 但并非和C++或JAVA的靜態(tài)屬性或靜態(tài)函數(shù)的概念相同]
復(fù)制代碼 代碼如下:

function Class1(name){
this.name = name;
}
Class1.prototype.show=function(){
alert("name="+this.name);
}
var m1 = new Class1("jiangsk540");
var m2 = new Class1("毛獅子");
alert(m1.show===m2.show);//顯示 true

動態(tài)給構(gòu)造函數(shù)原型添加的屬性或方法即可被先前建立的對像立即調(diào)用

復(fù)制代碼 代碼如下:

function Class1(name){
this.name = name;
}
Class1.prototype.show=function(){
alert("name="+this.name);
}
var m1 = new Class1("jiangsk540");
Class1.prototype.say=function(){
alert("Hi");
}
m1.say()//調(diào)用成功
/*
注意:只有為構(gòu)造函數(shù)的原型添加的屬性或方法才能被已經(jīng)創(chuàng)建的對像立即調(diào)用
如果是改變構(gòu)造函數(shù)原型的引用那么就不能被已經(jīng)創(chuàng)建的對像立即調(diào)用
*/
Class1.prototype={newP:"jiangsk540"};
alert(m1.newP)//undefined

相關(guān)文章

最新評論