zoukankan      html  css  js  c++  java
  • ES6 对象

    以前的定义类的方式

    let  obj={};//字面式定义

    function Obj(name,age){ 

    this.name=name;

    this.age=age;

    }; 

    Obj.prototype.showName(){}

    通过函数,注意首字母最好大写

    或者

    Object.assign(Obj.prototype,{showName:function(){}})

    let a=new Obj()

    ES6 类(关键字class)

    class Person{
    
    constructor(name,age){
    
    this.name=name;
    
    this.age=age
    
    };
    
    showName:function(){
    
    }
    
    }
    
    new Person()
    

      1还可以用变量

    let aaa="strive";
    class Person{
    
    constructor(name,age){
    
    this.name=name;
    
    this.age=age
    
    };
    
    showName:function(){
    
    }
    [aaa](){
    
    }
    
    }
    
    let person=new Person();
    person.strive();或者  person[aaa]()
    

      class 没有预提升的功能

    1.第一种情况
    let  person=new Person()   这样会报错
    
    class Person{
    
    }
    
    2:第二种情况
    
    
    let person=new Person();这个是正确的。有预提升的功能
    
    
    function Person(){
    
    
    }
    

      class  里面还有取值函数(getter),设值函数(setter)

    class Person{
       constructor(){
    
     }
    
     get aaa(){
    
          return "aaa的属性"
      }
    
    set aaa(val){
       console.log("设置aaa的属性")
    
    }
    
    
    }
    
    let p1=new Person();
    
        p1.aaa;这个就会调用get方法
        p1.aaa="asadsad";这样写就会调用set方法
    

      

  • 相关阅读:
    Codeforces Global Round 11
    2018-2019 ICPC, Asia Najing
    Codeforces Round #675 (Div. 2) ABCDE
    AtCoder Regular Contest 104 D(卡常)
    Navigator History Location
    键盘移动div
    键盘事件
    事件的传播
    事件的绑定
    事件的委派
  • 原文地址:https://www.cnblogs.com/yuaima/p/13605534.html
Copyright © 2011-2022 走看看