关于前端:今天在网站上了解了一下ES6的class的用法大概练习了下做个笔记

32次阅读

共计 758 个字符,预计需要花费 2 分钟才能阅读完成。

// 一些补充
// 在 calss 中无论是否通过 constructor 给对象绑定办法,都能够进行调用,他们的区别是:
// 在 constructor 中绑定的办法会被绑定在对象实例上
// 通过在 constructor 之外应用 a(){} 这种形式绑定的办法最终会被绑定在实例对象的 prototype 上

// 首先申明一个 calss 对象

class Person{
  id = '草根'   // 自带的数据
  constructor(name, age){   // 用于接管参数的数据源
    this.name = name
    this.age = age
  }
  say(){    // 自带的办法
    console.log(` 我 ${this.name}是一个 ${this.age}岁的 ${this.id}`);
  }
}
// 通过对象合并的形式增加新的办法
Object.assign(Person.prototype,{dreams(){console.log(` 即使我是 ${this.id},总有一天会成为这片海上最自在的人 `);
  }
})
// 通过 prototype 的形式增加办法
Person.prototype.star = function(){console.log(` 让我的名字 ${this.name},响彻整个天下 `);
}
// 创建对象实例
let self = new Person('张嘀嗒',18)

// 调用测试
self.say()
self.dreams()
self.star()
// 测试 class 的继承 extends   继承只是继承外面的办法,数据不互通
class Other extends Person{
  name = '大河川'
  age = 66
  sayToo(){console.log(` 俺 ${this.name}也是 `);
  }
}
let another = new Other()
another.say()
another.sayToo()

正文完
 0