Fetch和ajax的不一样javascript
获取服务器支持的HTTP请求方法;java
用来检查服务器的性能。ajax
toLocaleTimeString()根据本地时间把Date对象的时间转换为字符串redux
var d=new Date()
var n=d.toLocaleTimeString() //输出"2019/2/26"
复制代码
async关键字表示该函数内部有异步,async函数返回一个Promise对象,可使用then方法添加回调,遇到await就返回,等到异步操做完成,再接着执行函数体后面的语句。数组
async使用形式服务器
// 函数申明
async function foo(){}
// 函数表达式
const foo=async foo(){}
// 对象形式
let obj={async foo(){}}
obj.foo().then()
// 箭头函数
const foo=async () => {}
复制代码
使用注意点cookie
Set网络
const set=new Set([1,1,2,2,3,3])
[...set] // [1,2,3]
const item=new Set([1,2,3,3,3,3])
item.size //3
复制代码
实际应用session
//去除数组的重复成员
[...new Set(array)]
//去除字符串中的重复字节
[...new Set('abbbcccc')].join() //abc
//Array.from方法能够将 Set 结构转为数组
const items = new Set([1, 2, 3, 4, 5]);
const array = Array.from(items);
复制代码
set和map实例属性和方法数据结构
一个数据结构只要部署了Symbol.iterator属性,就被视为具备 iterator 接口,就能够用for...of循环遍历它的成员。也就是说,for...of循环内部调用的是数据结构的Symbol.iterator方法。
for...of循环可使用的范围包括数组、Set 和 Map 结构、某些相似数组的对象(好比arguments对象、DOM NodeList 对象)、后文的 Generator 对象,以及字符串
for..of 和for...in的区别
var arr=['a','b','c']
for(let a in arr){
console.log(a) //0 1 2
}
for(let a of arr){
console.log(a) // a b c
}
复制代码
//Object.keys方法将对象的键名生成一个数组,而后遍历这个数组
for (var key of Object.keys(someObject)) {
console.log(key + ': ' + someObject[key]);
}
复制代码
for..of 和其余语法的比较
//for循环,比较麻烦
for (var index = 0; index < myArray.length; index++) {
console.log(myArray[index]);
}
//forEach循环,没法中途跳出forEach循环,break命令或return命令都不能奏效
myArray.forEach(function(value){
console.log(value)
})
//for...in,主要是为遍历对象而设计的,不适用于遍历数组,只可遍历数组键值
for (var index in myArray) {
console.log(myArray[index]);
}
//for...of
for (let value of myArray) {
console.log(value);
}
复制代码