石川es6课程---9、面向对象-基础
生活随笔
收集整理的這篇文章主要介紹了
石川es6课程---9、面向对象-基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
石川es6課程---9、面向對象-基礎
一、總結
一句話總結:
js老版本的面向對象和繼承都不是很方便,新版的面向對象向其它語言靠攏,有了class,extends,constructor等關鍵字,用法和其它語言(例如php)也很像了
class User {constructor(name, pass) {this.name = namethis.pass = pass}showName() {console.log(this.name)}showPass() {console.log(this.pass)} }var u1 = new User('able2', '111') u1.showName() u1.showPass()// 新版本繼承 class VipUser extends User {constructor(name, pass, level) {super(name, pass)this.level = level}showLevel(){console.log(this.level)} }v1 = new VipUser('blue', '123', 3) v1.showLevel()?
?
?
?
二、面向對象-基礎
原來寫法
?
// 老版本 function User(name, pass) {this.name = namethis.pass = pass }User.prototype.showName = function () {console.log(this.name) } User.prototype.showPass = function () {console.log(this.pass) }var u1 = new User('able', '1233') u1.showName() u1.showPass() // 老版本繼承 function VipUser(name, pass, level) {User.call(this, name, pass)this.level = level } VipUser.prototype = new User() VipUser.prototype.constructor = VipUser VipUser.prototype.showLevel = function () {console.log(this.level) }var v1 = new VipUser('blue', '1234', 3) v1.showName() v1.showLevel()?
新版面向對象
?
?
轉載于:https://www.cnblogs.com/Renyi-Fan/p/11608868.html
總結
以上是生活随笔為你收集整理的石川es6课程---9、面向对象-基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 石川es6课程---8、字符串
- 下一篇: 石川es6课程---11、json