Class 的基本语法
类不存在变量提升(hoist),这一点与 ES5 完全不同
new Foo(); // ReferenceError
class Foo {}
Promise 对象
Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象
let btn = document.getElementById("btn")
btn.addEventListener("click", () => {
// 创建对象promise
let mun1 = new Promise((resolve, reject) => {
let mun = Math.floor(Math.random() * 10)
let ee = prompt("请输入")
if (mun == ee) {
console.log("对了");
} else {
console.log("不对");
}
})
mun1.then(data => {
alert("data")
}, data => {
alert("data")
})
})
上面代码中,使用Promise
包装了一个图片加载的异步操作。如果加载成功,就调用resolve
方法,否则就调用reject
方法
Set:集合,跟数组很像,但是其中存放的元素是唯一的
//创建一个Set
let scores = [90, 50, 60, 40, 50, 80]
let s_1 = new Set(scores)
console.log(s_1);
将set集合转换成数组,使用ArrAY。from()
let s_2 = new Set([10, 30, 50, 40, 10, 50])
let arr = Array.from(s_2)
console.log(arr);
//size 属性用来获取集合中的元素个数
console.log(s_2.size);
//创建一个空集合
let s_3 = new Set()
s_3.add(30)
console.log(s_3);
//数组添加元素
let arr_2 = ["zhnagsan", "lisi"]
//将王五添加进去
arr_2.push("wangwu") //使用push()添加
console.log(arr_2);
//其他函数添加到数组
arr_2.unshift("zhaolui")
console.log(arr_2);
//其他函数删除 pop()shift()
console.log(s_2.delete(50)); console.log(s_2.delete(10)); console.log(s_2);
//判断是不是包含某个元素,使用has
//包含是返回true,不包含false
let s_4 = new Set(["zhnagsan", "lisi"])
//获取btn
document.getElementById("btn").addEventListener("click", () => {
// 创建对象promise
let uname = document.getElementById("uname").value
if (s_4.has(uname)) {
s_4.delete(uname)
alert("删除")
} else {
alert(uname + "没有")
}
})