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方法
    

      

  • 相关阅读:
    yum源及rpm、源码包
    iptables详解和应用
    Samba服务器设置
    FTP虚拟用户
    FTP服务器配置
    at 计划任务
    配置telnet服务
    C# 事件和委托的用途及区别
    C# socket——简单的TCP 服务端-客户端 连接通信
    检出的svn项目中的.idea文件夹可以删除
  • 原文地址:https://www.cnblogs.com/yuaima/p/13605534.html
Copyright © 2011-2022 走看看