日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript使用prototype屬性實現繼承操作示例

瀏覽:36日期:2023-10-26 10:03:12

本文實例講述了JavaScript使用prototype屬性實現繼承操作。分享給大家供大家參考,具體如下:

JS并沒有顯式的繼承語法,在JS中所有的對象都是Object的子類實現, 因而對象之間是平等關系.

盡管如此我們可以通過特殊的方法達到繼承的效果.

當然JS也不能直接定義類, 我們通過定義函數可以得到一個同名的類 , 同時這個函數就是這個類的構造器,

在定義函數時以this修飾的變量就是定義的 類的實例中的屬性,當這個屬性時函數時, 就可以認為這個屬性變成了一個實例方法

//定義一個Person類function Person(name , age){ this.name=name; this.age=age; //定義一個info函數 this.info=function() { document.writeln('年齡'+this.age+'姓名'+this.name); }}//創建Person類的實例對象var p1= new Person(’xiaoming’,20);//調用p1的info方法p1.info();var p2= new Person(’wang’,22);p2.info();

這種在類內(函數內)定義函數的方式是有弊端的:

性能低下, 這種方式定義函數在每次創建對象時都會創建一個新的info函數, 有多個對象就會有多個info函數,實際上我們只需要一個info函數, 這樣就會造成系統內存泄漏, 引起性能的下降 使info函數中的局部變量產生閉包, 閉包會擴大局部變量的作用域,使局部變量存活到函數外

為了避免這兩種情況, 通常不建議在類定義時為類定義方法,而是采用prototype屬性:

JS中所有類(函數)都有一個prototype屬性, 為該屬性增加屬性方法可以視為對類的拓展,

也就是增加了prototype屬性的類繼承了原有的類 , 這也就是JS所提供的偽繼承機制

//定義一個Person類function Person(name , age){ this.name=name; this.age=age; //定義一個info函數 this.info=function() { document.writeln('年齡'+this.age+'姓名'+this.name); }}//創建Person類的實例對象var p1= new Person(’xiaoming’,20);//調用p1的info方法p1.info(); //為Person類增加walk方法Person.prototype.walk=function(){ document.writeln(this.name+’正在走<br/>’);}var p2=new Person(’xiaohong’,20);//p2可以調用Person中的方法p2.info();//也可以調用prototype屬性增加的方法p2.walk();//JS允許為類動態增加方法和屬性,這里p1也可以調用walkp1.walk();

上例為prototype屬性增加了方法可以認為是為Person類動態地增加了方法,

這種方式增加的方法會讓所有實例共享一個walk方法, 可以注意到是Person.prototype類的屬性,并非實例

walk方法不在Person函數內,因此不會產生閉包,

這種為類動態地增加屬性和方法可以被當作一種偽繼承,

但這種偽繼承并非產生 了新的子類而是修改了原有的類

別著急,prototype屬性還有另一種方式實現繼承:

prototype屬性代表該類原型對象, 即默認是一個Object對象, 將類prototype設為父類實例可以實現繼承

function Person(name,age){ this.name=name; this.age=age;}Person.prototype.say=function(){ console.log(this.name+’說話了’);}var per = new Person(’小明’,20);per.say();//再定義一個student類,欲意繼承Personfunction Student (grade){ this.grade=grade;}//將student的prototype設為Person對象Student.prototype =new Person(’小紅’,22);//為Student添加方法Student.prototype.intro= function(){ console.log(this.name+’是’+this.grade+’年級學生’);}var stu=new Student(3);stu.name='小剛';console.log(stu instanceof Person&& stu instanceof Student);//truestu.say();//小剛說話了stu.intro();//小剛是3年級學生

上例定義了Person類,增加了say()方法

又定義了Student類, 并將Student類的prototype屬性設為Person對象, 表明Student原型是Person對象,

也就是Student繼承了Person, 會得到其方法和屬性

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆国产在线| 久久精品国产999大香线蕉| 91欧美国产| 国产成人精品福利| 日韩啪啪电影网| 国产美女一区| 久久不射网站| 国产伦理久久久久久妇女| 日本午夜精品一区二区三区电影| 91精品视频一区二区| 精品理论电影在线| 樱桃成人精品视频在线播放| 日韩精品一级| 国产精品福利在线观看播放| 精品一区免费| 国产欧美88| 国产在线日韩| 欧美一区激情| 9色国产精品| sm捆绑调教国产免费网站在线观看 | 国产农村妇女精品一区二区| 中文在线一区| 国产欧美日韩一区二区三区在线| 成人精品久久| 亚洲丝袜啪啪| 美女一区网站| 青草国产精品| 一级欧洲+日本+国产| 国产乱人伦精品一区| 夜鲁夜鲁夜鲁视频在线播放| 亚洲激情二区| 国产一区二区三区久久久久久久久| 婷婷成人综合| 精品网站999| 日韩一区网站| 日韩**一区毛片| 国产综合精品| 日本一区二区免费高清| 欧美一级二区| 久久亚洲欧洲| 在线成人直播| 日韩国产专区| 久久午夜影院| 综合在线一区| 免费看黄色91| 999精品一区| 国产色播av在线| 精品一区二区三区中文字幕视频| 一区二区三区网站| 午夜久久美女| 夜夜嗨av一区二区三区网站四季av| 成人在线免费观看网站| 麻豆一区二区三区| 国产精品色在线网站| 久久国产日韩欧美精品| 国产精品香蕉| 亚洲欧美日韩精品一区二区 | 麻豆精品久久久| 麻豆91精品| 国产韩日影视精品| 激情欧美丁香| 免费在线播放第一区高清av| 欧美日韩亚洲三区| 国产亚洲精品美女久久| 日本电影久久久| 欧美在线观看天堂一区二区三区| 日本免费一区二区视频| 欧美亚洲免费| 久久国产欧美日韩精品| 国产精品一区二区美女视频免费看| 亚洲三级毛片| 午夜在线精品| 久久影视三级福利片| 美女久久一区| 日韩有码av| 日韩一区二区三区精品| 日韩国产欧美视频| 69堂精品视频在线播放| 国产精品乱战久久久| 日韩av成人高清| 精品美女在线视频| 精品一区毛片| 视频一区中文字幕| 亚洲字幕久久| 欧美国产极品| 97精品一区| 黄色免费成人| 91在线成人| 久久av综合| 日韩国产在线| 日韩一区欧美二区| 97久久中文字幕| sm久久捆绑调教精品一区| 悠悠资源网久久精品| 最新国产精品| 精品视频在线你懂得| 亚洲高清成人| 欧美中文高清| 韩国精品主播一区二区在线观看 | 精品视频高潮| 亚洲男女自偷自拍| 国产欧美日韩精品一区二区免费 | av亚洲一区二区三区| 蜜臀av亚洲一区中文字幕| 国产欧美日韩视频在线| 蜜臀久久99精品久久一区二区 | 亚洲青青久久| 九九九精品视频| 亚洲欧美视频| 国产成人精品一区二区三区视频| 狠狠久久婷婷| 97精品一区二区| 日本不卡在线视频| 男人的天堂久久精品| 国产成人久久精品麻豆二区 | 国产亚洲欧美日韩精品一区二区三区| 亚洲成人不卡| 国产精品videossex久久发布 | 久久国产亚洲| 欧美激情另类| 国产精品va| 国产美女亚洲精品7777| 四虎精品永久免费| 欧美综合二区| 影音国产精品| 午夜久久影院| 国产在线欧美| 精品中文字幕一区二区三区av| 精品美女在线视频| 国产亚洲一区| 国产精品视频一区二区三区综合| 日韩成人av影视| 国产麻豆一区| 国产精品多人| 日韩黄色在线观看| 国产午夜一区| 国产一区一一区高清不卡| 日韩精品a在线观看91| 亚洲精品护士| 麻豆91小视频| 色在线视频观看| 亚洲一本视频| 日韩毛片网站| 国产一区二区三区不卡视频网站| 久久亚洲黄色| 国产96在线亚洲| 国产精品99免费看| 中文一区一区三区免费在线观 | 视频一区国产视频| 五月亚洲婷婷 | 麻豆久久一区| 亚洲国内精品| 一级成人国产| 高清不卡亚洲| 中文一区一区三区免费在线观 | 亚洲二区在线| 91午夜精品| 久久精品播放| 91午夜精品| 国产成人精品亚洲日本在线观看| 蜜桃久久av| 国产拍在线视频| 午夜在线播放视频欧美| 国产精品资源| 欧美日韩精品一区二区视频| 婷婷精品久久久久久久久久不卡| 精品一区91| 日韩三级视频| 午夜电影亚洲| 国产资源在线观看入口av| 日韩综合一区二区三区| 极品日韩av| 久久精品三级| 欧美一区在线观看视频| 免费av一区| 中文字幕在线视频久| 日韩国产欧美在线视频| 午夜国产精品视频| 日韩精品电影| 日本aⅴ精品一区二区三区| | 日本亚洲视频在线| 尹人成人综合网| 激情偷拍久久| 成人午夜精品| 成人自拍av| 麻豆视频在线看| 久久久久久色| 四虎在线精品| 亚洲精品国模| 日精品一区二区三区| 亚洲综合图色| 黄色av日韩| 蜜桃视频欧美| 久久一二三区| 91精品国产自产在线丝袜啪| 日韩国产一二三区| 久久av免费| 老牛影视精品| 亚洲高清av|