• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Rgzs
博客园    首页    新随笔    联系   管理    订阅  订阅
es6 类

类的定义

class Animal {
    //构造函数,创建这个类时会执行的函数
    constructor(color){
        //this当前对象
        console.log("构造")
        this.color=color
    }
}
const myCat = new Animal("白");
console.log(myCat)
  • constructor: 构造函数
  • this : 当前实例
  • super: 它的父类

 

类的继承   class Cat extends Animal

<script>
        class Animal {
            constructor(color) {
                this.color = color
            }
            eat() {
                console.log('爱吃鱼');
            }

        }
        class Cat extends Animal {
            constructor(color, name) {
                super(color)
                this.name = name
            }
        }
        let myCat = new Cat('黑白', '皮皮')
        myCat.eat()
        console.log(myCat.color)
        console.log(myCat.name)
    </script>

 

通过static关键字可以声明静态的方法,静态方法归属于类而不是实例 也可声明静态变量

普通的方法归属于实例,需要通过实例调用

<script>
        class Animal {
            //IE不识别静态属性
            static props = {
                name:"啦啦啦"
            } 
            constructor(color,name){
                this.color = color;
                this.name = name;
            }
            //通过static关键词可以声明静态方法,静态方法属于类而不是实例
            static getName (){
                console.log('静态方法')
                return this
            }
            eat (){
                console.log(this.name+'爱吃鱼')
            }
        }
        let bigCat = new Animal('黑白','皮皮') 
        let smallCat = new Animal('白花', '球球') 
        bigCat.eat();
        smallCat.eat();
        console.log(Animal.getName())
        console.log(Animal.props.name)
    </script>

 

 
posted on 2020-09-03 23:10  飄落的葉子  阅读(112)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3