- //es5
- let Animal = function (type){
- this.type = type
- }
- // 这是类的实例对象方法
- Animal.prototype.eat = function (){
- Animal.walk()// 引用类的静态方法
- console.log('eat food') }
- // 这是类的静态方法
- Animal.walk = function () {
- console.log('walking')
- }
- let dog = new Animal('dog')
- dog.eat()
- dog.walk() // 类的实例对象里没有 walk 这个方法
- //es6
- class Animal {
- constructor (type) {
- this.type = type
- }
- // 类的实例对象方法
- eat (){
- Animal.walk()
- console.log('eat food')
- }
- // 类的静态方法
- static walk (){
- console.log('walking...')
- }
- }
- let dog = new Animal('dog')
- dog.eat()
根据场景选择定义不同的方法
类的静态方法: 拿不到类的实例对象的信息
类的实例对象方法: 可以访问实例对象的属性或方法
来源: https://www.cnblogs.com/qjb2404/p/12205113.html