ES6学习记录(一)

Class类

 

Class的静态方法

类相当于实例的原型,所有在类中定义的方法,都会被实例继承。如果在一个方法前,加上static关键字,就表示该方法不会被实例继承,而是直接通过类来调用,这就称为“静态方法”。[微信小程序使用Promis中有用到]

class StaticMethod {
    //定义静态方法
    static getAge() {
        return '获取Age的静态方法';
    }
}

//通过类名直接调用
console.log(StaticMethod.getAge());

 

 

 

    class hell {
        name(val) {
            console.log(val);
            return val;
        }

        skill(val) {
            console.log(this.name("lily_") + "skill:" + val) ;  //函数传参 this return
        }

        //类的传参
        constructor(a, b) {
            this.a = a;
            this.b = b;
        }
        add() {
            return this.a + this.b;
        }

    }

    //类的继承
    class htmler extends hell {

    }

    let zh = new hell();
    zh.skill("Javscript- Jquery"); //lily_skill:Javscript- Jquery

    let mm = new htmler();
    mm.name("lily"); //lily

    let classcd = new hell(1, 9);
    console.log(classcd.add());  //10

    var a = typeof hell;
    console.log(a);      //function

 

 

箭头函数

    var add = (a,b=9)=>a+b;  //给b一个默认值(可选)
    console.log(add(3)); //12

 

Promise

所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。

        // 1,洗菜做饭 2,坐下吃饭 3,收拾碗筷

        let state = 1;   //状态

        function step1(resolve,reject) {
            console.log("1,开始——洗菜做饭");
            if(state==1){
                resolve("洗菜做饭-完成");
            }else {
                reject('洗菜做饭-出错');
            }
        }

        function step2(resolve,reject) {
            console.log("2,开始——坐下吃饭");
            if(state==1){
                resolve("坐下吃饭-完成");
            }else {
                reject('坐下吃饭-出错');
            }
        }

        function step3(resolve,reject) {
            console.log("3,开始——收拾碗筷");
            if(state==1){
                resolve("收拾碗筷-完成");
            }else {
                reject('收拾碗筷-出错');
            }
        }

     //new Promise(step1).then().then().then()
        new Promise(step1).then(
            function (val) {
                console.log(val);
                return new Promise(step2);
            }
        ).then(
            function (val) {
                console.log(val);
                return new Promise(step3);
            }

        ).then(
            function (val) {
                console.log(val);
            }
        )

 

posted @ 2018-01-25 23:37  黎色癫狂  阅读(135)  评论(0)    收藏  举报