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

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

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

瀏覽:29日期: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久久,三上悠亚国产精品一区二区三区
日韩高清成人| 久久久夜精品| av综合电影网站| 日韩在线视频精品| 精品不卡一区| 日韩在线第七页| 国产成人免费av一区二区午夜| 国产精选久久| www.com.cn成人| 超碰在线99| 亚洲一区欧美激情| 亚洲精品韩国| 国产精品主播在线观看| 欧美日韩一区二区三区不卡视频| 精品三级国产| 亚洲国产不卡| 日本色综合中文字幕| 国产一区二区三区亚洲| 国产精品巨作av| 亚洲一级二级| 国产精品一区二区三区www| 国产欧美另类| 国产aⅴ精品一区二区三区久久 | 中文视频一区| 久久永久免费| 日韩在线一区二区| 国产在线观看www| 日本免费一区二区三区四区| 婷婷国产精品| 中文字幕av一区二区三区人| 日韩精品一二三四| 国产精品一国产精品k频道56| 国产在线视频欧美一区| 激情婷婷综合| 色婷婷色综合| 日韩在线电影| 伊人精品一区| 免费人成在线不卡| 国产欧美日韩精品一区二区免费| 精品视频一区二区三区在线观看| 神马午夜久久| 亚洲精品欧洲| 色乱码一区二区三区网站| 日韩一级欧洲| 国产情侣一区| 久久精品免费一区二区三区| 丝袜美腿亚洲色图| 美女久久久久久| 午夜欧美在线| 国产精品qvod| 午夜日韩福利| 美女视频网站久久| 中文亚洲欧美| 免费一区二区三区在线视频| 91久久国产| 国产私拍福利精品视频二区| 亚洲天堂资源| 日韩中出av| 久久国产日韩| 国产探花一区| 99久久视频| 国产欧美一区二区三区精品观看| 欧美色图国产精品| 国产精品1区在线| 欧美日韩激情| 国产精品**亚洲精品| 国产专区一区| 国产精品欧美三级在线观看| re久久精品视频| 国产精品s色| 久久av一区| 99国产精品私拍| 久久国产麻豆精品| 精品1区2区3区4区| 97精品中文字幕| 日韩黄色av| 久久伦理在线| 国产福利一区二区三区在线播放| 亚洲欧美日韩专区| 日韩毛片在线| 欧美极品中文字幕| 喷白浆一区二区| 久久蜜桃资源一区二区老牛| 国产精品一级在线观看| 日韩中文字幕麻豆| 久久亚洲精品中文字幕蜜潮电影| 免费亚洲婷婷| 日韩精品欧美精品| 伊人久久亚洲热| 成人黄色av| 91精品国产自产精品男人的天堂| 91精品蜜臀一区二区三区在线| 国产精品日本一区二区三区在线| 中文字幕亚洲影视| 欧美午夜不卡| 久久精品亚洲人成影院| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 麻豆中文一区二区| 日本不卡高清| 久久高清国产| 午夜国产欧美理论在线播放 | 欧美经典一区| 欧美一区在线观看视频| 日韩精品一级二级 | 日韩在线a电影| 日韩视频中文| 欧美亚洲精品在线| 久久裸体视频| 欧美影院三区| 久久九九99| 久久久天天操| 欧美+亚洲+精品+三区| 久久精品一区二区不卡| 性感美女一区二区在线观看| 精品中文字幕一区二区三区| 欧美日韩xxxx| 88久久精品| 国产欧美一区二区色老头| 久久国产精品免费一区二区三区| 日韩超碰人人爽人人做人人添| 亚洲色诱最新| 三级欧美韩日大片在线看| 久久电影一区| 中文字幕一区二区精品区| 亚洲一区导航| 日韩在线观看一区二区三区| 伊人精品久久| 欧美亚洲专区| 国产精品v一区二区三区| 国产三级一区| 国产精品夜夜夜| 精品一区av| 肉色欧美久久久久久久免费看 | 久久久久久久久久久9不雅视频| 日韩欧美网址| 1024精品一区二区三区| 欧美在线网站| 免费在线观看精品| 日韩av黄色在线| 麻豆精品久久| 精品国产免费人成网站| 久久一级电影| 国产精品试看| 久久国产精品久久久久久电车| 日韩精品一二三四| 欧美一区影院| 国产一区2区| 成人久久久久| 免费人成精品欧美精品| 日韩有码av| 精品免费av一区二区三区| 日韩中文视频| 天堂av在线一区| 欧美日韩亚洲一区二区三区在线| 免费在线成人| 久久视频国产| 欧美综合国产| 日本视频在线一区| 久久狠狠久久| 亚洲深夜视频| 亚洲在线一区| 97精品资源在线观看| 免费看久久久| 亚洲五月婷婷| 亚洲欧洲日韩| 丰满少妇一区| 视频一区欧美精品| 国产精品久久久久av蜜臀| 日韩不卡在线| 日韩激情一二三区| 麻豆mv在线观看| 亚洲在线国产日韩欧美| 国产欧美在线观看免费| 精品国产亚洲一区二区三区大结局| 99久久夜色精品国产亚洲1000部| 91精品高清| 国产精品中文字幕制服诱惑| 中文字幕在线看片| 日韩一级网站| 国产精品亚洲四区在线观看| 日韩成人高清| 亚洲人成亚洲精品| 久久91视频| 亚洲免费黄色| 欧美日韩一视频区二区| 午夜精品成人av| 日韩1区2区3区| 日产精品一区二区| 婷婷色综合网| 国产日韩一区| 国产精品99免费看| 7777精品| 好看的亚洲午夜视频在线| 国产精品亚洲片在线播放| 激情自拍一区| 国产精品草草| 亚洲少妇自拍| 久久伊人国产| 免费成人av在线播放| 精品网站999|