美文网首页
class 类的用法

class 类的用法

作者: Amy_yqh | 来源:发表于2019-05-12 17:21 被阅读0次

    1.类的用法

    JavaScript 语言中,生成实例对象的传统方法是通过构造函数,看下面的栗子
       // 构造函数的方法
    function Person(name,age){
        this.name=name;
        this.age=age;
    }
    Person.prototype.run = function(){
        console.log(`可爱的${this.name},${this.age},在狂奔`)
    }
    let p = new Person('乔巴',2)
    
    类的写法:
    在ES6中,提出了类(class),可以更方便清晰地让我们创建实例
    class Student{
        // 构造方法
        constructor(name,age){
            this.name=name;
            this.age=age;
        }
        // 实例方法
        run(){
             console.log(`一个${this.age}的小伙子在跑步`)
        }
    }
    let s = new Student('路飞',18)
    

    2.类的静态成员(静态属性和静态方法)

    class Student{
        
        // 构造方法
        constructor(name,age){
            this.name=name;
            this.age=age;
        }
        run(){
            // console.log(`一个${this.age}的小伙子在跑步`)
            console.log('实例方法')
            this.born()  //this指向的是实例的对象
        }
        born (){
            console.log('实例方法 出生')
           
        }
        //静态成员:静态属性,静态方法
        // 静态属性:通过类本身访问,Student.maxAge
        // 静态方法:通过类本身访问,Student.born()
        static born(){
            console.log('静态方法 出生')
        }
        static run(){
            console.log('静态方法')
            this.born() // this 执行类对象
        }
        // ss=1//报错
        // 类对象的方法和实例的方法名字可以相同
    }
    Student.maxAge = 200 //静态属性
    
    Student.born()
    let s = new Student('路飞',18)
    
    

    注意:

    1.静态方法就在方法前面添加static.
    2.静态方法的名字可以与实例方法的名字相同
    3.静态方法的this,指向的是类对象,实例方法的thi指向实例对象
    4.静态方法的调用,类.静态方法名,
    5.静态方法和静态属性,实例不会继承。
    6.静态属性写法只能写在外面,写在类的里面会报错

    相关文章

      网友评论

          本文标题:class 类的用法

          本文链接:https://www.haomeiwen.com/subject/riwcaqtx.html