天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 原型與繼承說明

function A(x)
{
this.x = x;
}
alert(A.prototype);
alert(A.prototype.constructor);
根據彈出的結果,我們可以得到:原型對象是由函數的構造函數創建,它所擁有的屬性能被所有對象共享,初始時原型對象指向一個Object對象,并且定義了一個constructor屬性,該屬性指向定義該原型對象的構造函數本身,再看如下代碼。

Code
function A(x)
{
A.prototype.x = x;
}
var obj = new A(10);
alert(obj.x);
alert(obj.constructor);
因為原型對象的所有屬性能被構造函數創建對象共享,所以創建的對象可以訪問這里的constructor屬性,同時obj對應的就是原型對象(prototype)所創建出來的一個實例,那么重寫constructor屬性會出現什么樣的結果呢?

Code
function A(x)
{
A.prototype.x = x;
}

var objA = new A(10);
objA.constructor = function(x){ alert("重寫obj的constructor屬性");this.x = 20 };
objA.constructor();
alert(objA.x);

var objB = new A(10);
alert(objB.x);
根據結果我們可以看到,首先彈出的是“重寫obj的constructor屬性”,然后彈出20,在彈出10,可見,我們在書寫重寫objA這個對象的constructor之后,objB并沒有被改變,因此無論在一個對象加入或修改多少屬性這都不影響其原型對象中屬性的本來面目,其實很容易理解js為什么這樣做,因為一個對象的行為不能影響到其他對象,否則將會造成混亂。

在這里,我們可以總結一下,上面代碼的規則:

1.當我們調用某個對象的時候,首先檢查該對象本身的自己定義的屬性,如果存在則調用。

2.當自己本身的屬性不存在的時候,則調用其構造函數所定義的原型對象的引用。

那么根據這個規則,就形成了JavaScript中的一個原型鏈,我們就可以根據這個規則來定義繼承關系。
復制代碼 代碼如下:
function A(x)
{
A.prototype.x = x;
}

function B(x,y)
{
B.prototype.y = y;
A.call(this,x);
}

這段代碼顯示了兩個函數,B函數繼承與A函數,A.call(this.x)表示,將B的對象this傳遞到A函數中進行執行。然后,我們同樣需要由B函數構造出來的對象需要包含A函數的所有特性,因此需要加上這么一句話。
復制代碼 代碼如下:
B.prototype = new A();
alert(B.prototype.constructor);

先我們指定B的原型為A,因此,B函數繼承了A函數的特性,根據彈出的結果,我們可以看到,其constructor指向的是A函數,那么我們的B函數的特性是不是丟失了呢?因此,我們需要在加上一句話,最后給出繼續的整合代碼。
復制代碼 代碼如下:
function A(x)
{
A.prototype.x = x;
A.prototype.ShowA = function(){ alert("A的Show方法!"); };
}

function B(x,y)
{
B.prototype.y = y;
A.call(this,x);
B.prototype.ShowB = function(){ alert("B的Show方法!"); };
}

B.prototype = new A();
B.prototype.constructor = B;

var obj = new B(10,5);
alert(obj.x);
alert(obj.y);
obj.ShowA();
obj.ShowB();

若有疑問或不正之處,歡迎提出指正和討論。

JavaScript技術JavaScript 原型與繼承說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 748亚洲大胆国模人体 | 欧美激情视频一区 | 日韩人妻精品久久日 | 2021精品高清卡1卡2卡3麻豆 | 国产精品自在自线亚洲 | av老司机色爱区综合 | 精品国产午夜福利在线观看蜜月 | 欧美午夜免费观看福利片 | 色欲AV亚洲永久无码精品 | 公粗挺进了我的密道在线播放贝壳 | 国产午夜人做人免费视频中文 | 亚洲成熟人网站 | 啦啦啦 中文 中国 免费 高清在线 | 午夜勾魂曲| 正在播放国产精品 | 蜜臀AV中文字幕熟女人妻 | 恋夜影视列表免费安卓手机版 | 日本大片免a费观看视频 | 金发欧美一区在线观看 | 国产传媒18精品A片在线观看 | 亚洲国产成人一区二区在线 | 99在线这精品视频 | 国产成人ae在线观看网站站 | 美国兽皇zoo在线播放 | 三级网址在线观看 | 成人影片下载网站 | 天天影视色欲 影视 | 美女张开腿露出尿口扒开来摸动漫 | 色欲久久99精品久久久久久AV | 国产婷婷综合在线视频中文 | 国产一区二区无码蜜芽精品 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲精品国产高清嫩草影院 | 免费在线伦理片 | 久久国产主播福利在线 | 欧美xx69 | 最新国自产拍天天更新 | 在线看片韩国免费人成视频 | wankz tv videos国产 | 天天躁夜夜踩很很踩2022 | 男人的天堂久久精品激情a 男人的天堂黄色片 |