2.ES6基础

let ,const

let 定义变量 const 定义常量
不能重复定义
块级作用域
不存在变量提升

模板字符串
//循环嵌套
let names = ['jimi','felly','allen'];
let str=`
	<ul>
		${
			names.map(name=>`<li>${name}<li/>`).join('')
		}
	<ul/>
`
Promise

Promise 结构

new Promise((resolve, reject) => {
    //异步函数
    $.ajax({
        url: '',
        type: 'post',
        success(res) {
            resolve(res);
        },
        error(err) {
            reject(err)
        }
    })
}).then((res) => {
    //resolve 成功
    console.log('success', res);
}, (err) => {
    //reject 失败
    console.log('error', err);
});

Promise 链式

var promiseFn1 = new Promise((resolve, reject) => {
    $.ajax({
        url: 'url-1',
        type: 'post',
        success(res) {
            resolve(res);
        },
        error(err) {
            reject(err)
        }
    })
})

var promiseFn2 = new Promise((resolve, reject) => {
    $.ajax({
        url: 'url-2',
        type: 'post',
        success(res) {
            resolve(res);
        },
        error(err) {
            reject(err)
        }
    })
})

promiseFn1.then(() => {
    //promiseFn1 success
    return promiseFn2
}, () => {
    //promiseFn1 error
}).then(() => {
    //promiseFn2 success
})
面向对象-类

关键词 class
语法糖 对应 function
构造函数 constructor
类的继承
extends:类的继承
super :调用父类的构造函数

面向对象-对象

对象里属性的简写
对象里方法的简写
属性名可以为表达式

// class constuctor

class Animal {
    constructor(name) {
        this.name = name
    }
    getName() {
        return this.name
    }
}

let animal = new Animal('animal test');
console.log(animal.getName());
//类的继承
class Animal{
    constructor(){
        this.name = 'animal'
    }
    getName(){
        return this.name
    }
}

class Cat extends Animal{
    constructor(){
        super()
        this.name = 'cat'
    }
}
let animal = new Animal();
let cat = new Cat();
console.log(animal.getName())
console.log(cat.getName())
//对象用法

/*js*/
var name = 'viking',
    age = 18;
var obj = {
    name: name,
    age: age,
    getName: function() {
        return this.name
    },
    getAge: function() {
        return this.age
    }
}
/*ES6*/
let name = 'viking',
    age = 18;
let obj = {
    name,
    age,
    getName() {
        return this.name
    },
    //表达式作为属性名
    ['get' + 'Age']() {
        return this.age
    }
}

Object.keys(obj); //获取Object 内所有属性名称

Object.assign({
    a: 1
}, {
    b: 2
})
//打印出   {a:1,b:2}
ES6模块化

export 模块输出
import 模块引入

html
<script type="module" src="./index.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值