includes 方法用来检测数组中是否包含某个元素,返回布尔类型值。
const mingzhu = ['西游记','红楼梦','三国演义','水浒传']; console.log(mingzhu.includes('西游记'));//-->true console.log(2**10);//-->1024在ES7中引入指数运算符(**),用来实现幂运算,功能与Math.pow结果相同。
async 和 await 两种语法结合可以让异步代码像同步代码一样。
1.async 函数的返回值为promise对象。 2.promise 对象的结构由 async 函数执行的返回值决定。
1.返回的结果不是一个Promise类型的对象, 则async修饰的这个函数的返回结果就是一个promise对象,且对象的状态是成功的,成功的值是return出的值。 2.抛出错误,返回的结果是一个失败的Promise对象。throw new Error(‘出错了’); 3.return如果是一个promise对象。那么返回的结果就是promise且promise的状态和值与return中的promise相同。
<script> // async 函数 async function fn(){ // 1.返回的结果不是一个Promise类型的对象, // 则async修饰的这个函数的返回结果就是一个promise对象,且对象的状态是成功的,成功的值是return出的值。 // return; // 2.抛出错误,返回的结果是一个失败的Promise对象 // throw new Error('出错了'); // 3.return如果是一个promise对象。那么返回的结果就是promise且promise的状态和值与return中的promise相同。 return new Promise((resolve,reject)=>{ resolve("成功的数据"); }); } const result = fn(); console.log(result); // 既然fn()返回的是promise对象,那么它就可以调用then方法 result.then(value => { // 鉴于上面的promise是成功的,走这里 console.log(value); },reason => { console.warn(reason); }) </script>1.await 必须写在async函数中,但对于async函数而言await不是必须的。 2.await右侧的表达式一般为promise对象。 3.await返回的是promise成功的值。 4.await的promise失败了,就会抛出异常,需要通过try…catch捕获处理。
<script> // 创建promise对象 const p = new Promise((resolve,reject)=>{ // resolve("成功的值!"); reject("失败失败!") }) // await 要放在async函数中。 async function main(){ try{ // 这里的result返回的是promise对象成功的值,如果失败,需要另外捕获。 let result=await p; console.log(result);//-->成功的值! }catch(e){ console.log(e);//-->失败失败! } } // 调用函数 main(); </script>1.Object.values()方法返回一个给定对象的所有可枚举属性值的数组。 2.Object.entries()方法返回一个给定对象自身可遍历属性[key,value]的数组。 3.Object.getOwnPropertyDescriptors()方法,返回对象属性的描述对象。