随笔分类 -  es6

摘要:class Promise { constructor(executer) { //构造函数 constructor 里面是个执行器 this.status = 'pending'; //默认的状态 pending this.value = undefined //成功的值默认 undefined 阅读全文
posted @ 2021-10-17 12:39 果果1024 阅读(170) 评论(0) 推荐(0)
摘要:async 函数的实现,就是将 Generator 函数和自动执行器,包装在一个函数里 function getCallSettings() { return utils.ajax({ url: '/dialer/dialerSetting', method: "GET", }); } async 阅读全文
posted @ 2021-10-16 13:56 果果1024 阅读(101) 评论(0) 推荐(0)
摘要:1.next()永远都会比yield多一个 2.消息传递 当next(..)执行到yield语句处时会暂停生成器的执行,同时next(...)会得到一个带有value属性的对象,yield语句后面带的值会赋给value(如果yield后面没有值,value就为undefined)。可以将yield 阅读全文
posted @ 2021-10-16 13:53 果果1024 阅读(131) 评论(0) 推荐(0)
摘要:Iterator实现原理 创建一个指针对象,指向当前数据结构的起始位置。也就是说,遍历器对象本质上,就是一个指针对象。 第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员。 第二次调用指针对象的next方法,指针就指向数据结构的第二个成员。 不断调用指针对象的next方法,直到它指 阅读全文
posted @ 2021-10-16 12:51 果果1024 阅读(307) 评论(0) 推荐(0)
摘要:1.只是new了一个对象,并没有调用它,我们传进去的函数就已经执行了,这是需要注意的一个细节。所以我们用Promise的时候一般是包在一个函数中,在需要的时候去运行这个函数。 2.catch和then的第二个参数一样,用来指定reject的回调。有另外一个作用:在执行resolve的回调(也就是上面 阅读全文
posted @ 2021-10-15 18:05 果果1024 阅读(37) 评论(0) 推荐(0)
摘要:1. 在一个事件循环中,异步事件返回结果后会被放到一个任务队列中。然而,根据这个异步事件的类型,这个事件实际上会被对应的宏任务队列或者微任务队列中去。并且在当前执行栈为空的时候,主线程会 查看微任务队列是否有事件存在。如果不存在,那么再去宏任务队列中取出一个事件并把对应的回到加入当前执行栈;如果存在 阅读全文
posted @ 2021-10-15 17:47 果果1024 阅读(199) 评论(0) 推荐(0)
摘要:一.rest参数 1.rest参数中的变量代表一个数组,所以数组特有的方法都可以用于这个变量 2.类数组对象arguments一个合理的替代品。 function push(array, ...items) { items.forEach(function(item) { array.push(it 阅读全文
posted @ 2021-10-01 16:15 果果1024 阅读(147) 评论(0) 推荐(0)
摘要:(1)交换变量的值 [x, y] = [y, x]; (2)提取JSON数据 var jsonData = { id: 42, status: "OK", data: [867, 5309] }; let { id, status, data: number } = jsonData; consol 阅读全文
posted @ 2021-09-28 11:26 果果1024 阅读(41) 评论(0) 推荐(0)
摘要:1.所声明的变量,只在let命令所在的代码块内有效。 var a = []; for (let i = 0; i < 10; i++) { a[i] = function () { console.log(i); }; } a[6](); // 6变量i是let声明的,当前的i只在本轮循环有效,所以 阅读全文
posted @ 2021-09-25 12:46 果果1024 阅读(53) 评论(0) 推荐(0)
摘要:1.async 函数中可能会有 await 表达式,async 函数执行时,如果遇到 await 就会先暂停执行 ,等到触发的异步操作完成后,恢复 async 函数的执行并返回解析值。 (await 关键字仅在 async function 中有效。如果在 async function 函数体外使用 阅读全文
posted @ 2021-09-23 11:00 果果1024 阅读(126) 评论(0) 推荐(0)
摘要:let a = {name: "mdn"}let b = {...a}console.log(b);b.name = 1console.log(b);console.log(a); 阅读全文
posted @ 2020-04-03 10:19 果果1024 阅读(169) 评论(0) 推荐(0)