最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript原型對(duì)象原理與應(yīng)用分析

 更新時(shí)間:2018年12月27日 11:23:41   作者:菜鳥學(xué)編程$  
這篇文章主要介紹了JavaScript原型對(duì)象原理與應(yīng)用,結(jié)合實(shí)例形式分析了javascript原型對(duì)象的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了JavaScript原型對(duì)象原理與應(yīng)用。分享給大家供大家參考,具體如下:

原型對(duì)象:

每個(gè)對(duì)象都有一個(gè)參考對(duì)象,這個(gè)參考對(duì)象稱之為原型對(duì)象。原型對(duì)象有自己的屬性和方法。當(dāng)A是B的原型對(duì)象時(shí),那么B擁有A中的所有屬性和方法。

原型對(duì)象的工作原理:

使用原型對(duì)象定義一個(gè)新的對(duì)象時(shí),該對(duì)象不會(huì)立即擁有原型對(duì)象的屬性和方法,在調(diào)用的時(shí)候本對(duì)象內(nèi)部沒(méi)有的屬性和方法是才回去調(diào)用原型中的屬性和方法。(動(dòng)態(tài)分配).

原型對(duì)象的引用:

在javascript中每一個(gè)函數(shù)都定義了一個(gè)prototype屬性用于引用原型對(duì)象。

function computer(){
   this.name="thinkPad 500";
   this.factory="聯(lián)想";
   this.price=5000;
   this.size=17;
}
/*
*讀取函數(shù)中的prototype,默認(rèn)情況下為空
*/
for( pro in computer.prototype){
   document.write(computer.prototype,"<br>");
}
//沒(méi)有繼承原型對(duì)象中屬性
var mycomputer=new computer();
for( pro in mycomputer){
   document.write(pro,":",mycomputer[pro],"<br>");
}
computer.prototype.interface="VAG";
//添加原型對(duì)象的屬性
for( pro in computer.prototype){
   document.write(pro,":",computer.prototype[pro],"<br>");
}
//繼承原型對(duì)象中屬性
var mycomputer=new computer();
for( pro in mycomputer){
   document.write(pro,":",mycomputer[pro],"<br>");
}

這里使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼,可得如下運(yùn)行結(jié)果:

原型對(duì)象的繼承

繼承是通過(guò)原型對(duì)象實(shí)現(xiàn)

<script type="text/javascript">
//定義一個(gè)工人
function worker(){
    this.name="";
    this.address="";
}
//定義一個(gè)部門經(jīng)理
function manager(_dept){
    this.dept=_dept;
}
//定義繼承關(guān)系
manager.prototype=new worker();
//創(chuàng)建計(jì)劃部門經(jīng)理
var jh=new manager("計(jì)劃");
for(pro in jh){
    document.write(pro,":",jh[pro],"<br>");
}
//當(dāng)前jh有效沒(méi)有改變?cè)蛯?duì)象中的值
jh.name="計(jì)劃部門經(jīng)理";
jh.address="計(jì)劃部";
for(pro in jh){
    document.write(pro,":",jh[pro],"<br>");
}
//原型對(duì)象中的值沒(méi)有被修改
var rs=new manager('人事');
for(pro in rs){
    document.write(pro,":",rs[pro],"<br>");
}
//修改原型對(duì)象中的值,將會(huì)在繼承的對(duì)象中體現(xiàn),如果繼承類中沒(méi)有覆蓋
manager.prototype.address="成都市";
//覆蓋后address的值還是原來(lái)的計(jì)劃
for(pro in jh){
    document.write(pro,":",jh[pro],"<br>");
}
//沒(méi)有覆蓋address的值是成都市
for(pro in rs){
    document.write(pro,":",rs[pro],"<br>");
}
</script>

這里使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼,可得如下運(yùn)行結(jié)果:

通過(guò)原型對(duì)象可以為所有繼承對(duì)象添加屬性和刪除屬性,所有繼承對(duì)象都將統(tǒng)一顯示。

更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

商洛市| 且末县| 阜康市| 阳原县| 晋宁县| 隆安县| 佛冈县| 亳州市| 新田县| 隆德县| 霍邱县| 江油市| 吉木萨尔县| 奉节县| 邢台县| 曲周县| 右玉县| 平度市| 漳浦县| 呼玛县| 南和县| 恭城| 保德县| 尤溪县| 海盐县| 延庆县| 太仆寺旗| 白山市| 西城区| 汨罗市| 鸡东县| 美姑县| 浦东新区| 五寨县| 西平县| 合肥市| 罗江县| 建湖县| 锡林郭勒盟| 观塘区| 林甸县|