摘要:的時(shí)候調(diào)用姜姜吳建我會(huì)飛去上學(xué)姜姜姜姜獲取加賦值。值得注意是,這里的不是新的對(duì)象繼承模型,它只是原型鏈的語(yǔ)法糖表現(xiàn)形式。允許一個(gè)子類繼承父類,需要注意的是,子類的函數(shù)中需要執(zhí)行函數(shù)。
es6的classes
class Student{ constructor (name,age){ this.name=name; this.age=age; } run(){ return this.name; } } let xs = new Student("姜姜",23); console.log(xs.name); console.log(xs.age); function Vehicle (name,age){ this.name = name; this.age = age; } Vehicle.prototype.name = function name(){ return this.name; }; var jj = new Vehicle ("吳建",24); console.log(jj.name);
class Student{ constructor (name,age){ this.name =name; this.age=age; } run(){ console.log("我會(huì)飛"); } get xm(){ return this.name +"123"; } set xm(value){ this.name =value; } static shangxue (){ console.log("去上學(xué)"); } } let xs = new Student("姜姜",25); console.log(xs.xm); xs.xm="姜姜"; console.log(xs.xm); Student.shangxue(); //get:獲取加賦值。 //set:設(shè)置。 //static:靜態(tài)方法|類方法。 //set和get的方法名相同,而且可以同名
class Student{ constructor (name,age){ this.name =name; this.age=age; } run(){ console.log("我會(huì)飛"); } } let xs = new Student("姜姜",25); class Teacher extends Student{ constructor (name,age,sex){ super(name,age); this.sex=sex; } eat(){ console.log(this.name +"is eating") } run(){ super.run(); console.log("我想高飛"); } } var ls = new Teacher("吳建","30","男"); ls.run();//我會(huì)飛 我想高飛; 注釋:雖然子類繼承了父類的run方法,但是子類會(huì)把父類的方法給覆蓋掉,這個(gè)就是方法覆蓋
非聲明提升(hoisted) 和let一樣
自動(dòng)處于嚴(yán)格模式
需要new, 否則會(huì)拋錯(cuò)
重寫類名和方法會(huì)拋錯(cuò)
有g(shù)et set 方法
可以指定方法為static 。只能在class內(nèi)部使用。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/84067.html
摘要:接下來(lái)我們看下類的寫法,這個(gè)就很接近于傳統(tǒng)面向?qū)ο笳Z(yǔ)言了。如果你想了解傳統(tǒng)面向?qū)ο笳Z(yǔ)言,這里是一個(gè)好切入點(diǎn)。作為對(duì)象時(shí),指向父類的原型對(duì)象。這些就是為將來(lái)在中支持面向?qū)ο蟮念悪C(jī)制而預(yù)留的。 在ES5中,我們經(jīng)常使用方法或者對(duì)象去模擬類的使用,并基于原型實(shí)現(xiàn)繼承,雖然可以實(shí)現(xiàn)功能,但是代碼并不優(yōu)雅,很多人還是傾向于用 class 來(lái)組織代碼,很多類庫(kù)、框架創(chuàng)造了自己的 API 來(lái)實(shí)現(xiàn) c...
摘要:基于原型的面向?qū)ο笤诨谠偷恼Z(yǔ)言中如并不存在這種區(qū)別它只有對(duì)象不論是構(gòu)造函數(shù),實(shí)例,原型本身都是對(duì)象。允許動(dòng)態(tài)地向單個(gè)的對(duì)象或者整個(gè)對(duì)象集中添加或移除屬性。為了解決以上兩個(gè)問(wèn)題,提供了構(gòu)造函數(shù)創(chuàng)建對(duì)象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新認(rèn)識(shí)面向?qū)ο?1. JavaScript...
摘要:基于原型的面向?qū)ο笤诨谠偷恼Z(yǔ)言中如并不存在這種區(qū)別它只有對(duì)象不論是構(gòu)造函數(shù),實(shí)例,原型本身都是對(duì)象。允許動(dòng)態(tài)地向單個(gè)的對(duì)象或者整個(gè)對(duì)象集中添加或移除屬性。為了解決以上兩個(gè)問(wèn)題,提供了構(gòu)造函數(shù)創(chuàng)建對(duì)象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新認(rèn)識(shí)面向?qū)ο?1. JavaScript...
摘要:之前,本質(zhì)上不能算是一門面向?qū)ο蟮木幊陶Z(yǔ)言,因?yàn)樗鼘?duì)于封裝繼承多態(tài)這些面向?qū)ο笳Z(yǔ)言的特點(diǎn)并沒(méi)有在語(yǔ)言層面上提供原生的支持。所以在中出現(xiàn)了等關(guān)鍵字,解決了面向?qū)ο笾谐霈F(xiàn)了問(wèn)題。 ES6之前,javascript本質(zhì)上不能算是一門面向?qū)ο蟮木幊陶Z(yǔ)言,因?yàn)樗鼘?duì)于封裝、繼承、多態(tài)這些面向?qū)ο笳Z(yǔ)言的特點(diǎn)并沒(méi)有在語(yǔ)言層面上提供原生的支持。但是,它引入了原型(prototype)的概念,可以讓我們以...
閱讀 2543·2023-04-26 00:56
閱讀 2000·2021-10-25 09:46
閱讀 1236·2019-10-29 15:13
閱讀 811·2019-08-30 15:54
閱讀 2190·2019-08-29 17:10
閱讀 2613·2019-08-29 15:43
閱讀 497·2019-08-29 15:28
閱讀 3022·2019-08-29 13:24