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