随笔分类 -  JS高级

摘要:1:异步函数的简单写法 1 async function foo1(){ 2 3 } 4 const foo2=async()=>{ 5 6 } 7 class Foo{ 8 async bar() 9 } 2:异步函数的执行流程 !如果没有什么特殊的操作:会按照普通函数按顺序执行 !三种返回值:类 阅读全文
posted @ 2022-04-05 19:39 沁霓 阅读(48) 评论(0) 推荐(0) 编辑
摘要:需求:异步处理 直接看例子 url url=url+str1 url=url+str2 1:第一种方案多次回调 回调地狱 1 function requestData(url) { 2 //异步请求代码会被放在excutor中 3 return new Promise((resolve, rejec 阅读全文
posted @ 2022-04-05 17:12 沁霓 阅读(70) 评论(0) 推荐(0) 编辑
摘要:生成器替代迭代器会让代码更加的简洁 主要是是运用 “yield 值” 对应于{done:false,value:值} 同时就可以借助遍历来让代码更加的简洁 具体看代码 yield* 表达式用于委托另一个generator或者可迭代对象 1 //1:生成器来替代迭代器 2 function* crea 阅读全文
posted @ 2022-04-05 15:24 沁霓 阅读(35) 评论(0) 推荐(0) 编辑
摘要:Gnerator 生成器 是ES6新增的一种函数控制、使用的方案 1:yiled来控制代码执行 2:生成器函数的返回值也是生成器 同时生成器也是特殊的迭代器 所以可以使用next()方法 生成器的基本使用以及yield控制流程 1 function* foo() { 2 const value1 = 阅读全文
posted @ 2022-04-04 17:21 沁霓 阅读(60) 评论(0) 推荐(0) 编辑
摘要:1迭代器 帮助我们对某个数据结构进行遍历的对象 有 简单实现可以对数组进行遍历的对象: 1 const names = ['abc', 'cba', 'nba'] 2 //创建一个迭代器对象来访问数组 3 let index = 0 4 const namesIterator = { 5 next: 阅读全文
posted @ 2022-04-04 14:53 沁霓 阅读(32) 评论(0) 推荐(0) 编辑
摘要:1:直接上代码:主要就是思路,以及判断情况,什么时候该回调什么函数 1 const PEOMISE_STATUS_PENDING = 'pending' 2 const PEOMISE_STATUS_FULFILLED = 'fulfilled' 3 const PEOMISE_STATUS_REJ 阅读全文
posted @ 2022-04-01 21:16 沁霓 阅读(49) 评论(0) 推荐(0) 编辑
摘要:1:then的多次调用 then方法保存在数组里面,调用resolve的时候遍历数组 1 // then的多次调用 then方法都保存在数组里,然后调用resolve的时候遍历数组就好啦 2 //定时器里面的then不会执行 利用状态判断更严谨 3 const PEOMISE_STATUS_PEND 阅读全文
posted @ 2022-04-01 15:28 沁霓 阅读(101) 评论(0) 推荐(0) 编辑
摘要:1:结构的设计 主要思路: 构造函数 Class 就可以new来调用 利用constructor实现函数的调用(executor) 实现调用了reject()resolve无效调用 记录Promise的状态 const PEOMISE_STATUS_PENDING='pending' 默认状态 co 阅读全文
posted @ 2022-04-01 11:31 沁霓 阅读(46) 评论(0) 推荐(0) 编辑
摘要:1:resolve 把一个对象转换成Promise对象 1 //把一个对象转成Promise对象 2 //resolve参数(普通的值、对象 Promise) 3 const promise = Promise.resolve({ name: 'tyy' }) 4 //相当于 5 // const 阅读全文
posted @ 2022-04-01 10:04 沁霓 阅读(314) 评论(0) 推荐(0) 编辑
摘要:1:catch方法 具体看代码 1 const promise = new Promise((resolve, reject) => { 2 // resolve() 3 // reject('rejected meaasge') 第一种写法 4 //第二种写法 抛出异常 5 throw new E 阅读全文
posted @ 2022-03-31 19:59 沁霓 阅读(320) 评论(0) 推荐(0) 编辑
摘要:then 方法 then是对象上面的一个方法。它其实是放在 Promise.prototype.then 1:同一个Promise可以调用多次then方法 2:then方法传入的回调函数可以有返回值,返回值是一个新的Promise,具体返回的类型类似于resolve参数 返回值是一个新的Promis 阅读全文
posted @ 2022-03-31 11:54 沁霓 阅读(1930) 评论(0) 推荐(0) 编辑
摘要:1:异步操作(自己写回调来传入) 1 function requestData(url, successCallback, failureCallback) { 2 setTimeout(() => { 3 if (url "http://www.baidu.com") { 4 console.lo 阅读全文
posted @ 2022-03-30 21:22 沁霓 阅读(40) 评论(0) 推荐(0) 编辑
摘要:1:响应式函数的封装 1 //封装一个函数的响应式 2 //用数组来保存需要响应的函数 3 const reactiveFns = [] 4 //在watchFn里面的函数都会被监视 5 function watchFn(fn) { 6 reactiveFns.push(fn) 7 } 8 //对象 阅读全文
posted @ 2022-03-30 19:55 沁霓 阅读(71) 评论(0) 推荐(0) 编辑
摘要:1:在ES7之前判断数组里面是否有一个方法我们需要使用indexof ES7可以使用 includes 1 const arr = ['a', 12] 2 console.log(arr.includes(12)); 3 console.log(arr.indexOf(14)); 2:乘方运算 ** 阅读全文
posted @ 2022-03-30 09:54 沁霓 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1:监听对象的第一种方式 Object.defineProperty 1 const obj = { 2 name: 'tyy', 3 age: 20 4 } 5 Object.keys(obj).forEach((key) => { 6 let value = obj[key] 7 Object. 阅读全文
posted @ 2022-03-29 21:02 沁霓 阅读(39) 评论(0) 推荐(0) 编辑
摘要:ES11: 1:BigInt 1 //之前的最大表示的安全数字 2 const max = Number.MAX_SAFE_INTEGER 3 console.log(max); 4 //新增 BigInt 末尾加n 5 const bigInt = 900719925474099100n 6 co 阅读全文
posted @ 2022-03-28 21:23 沁霓 阅读(93) 评论(0) 推荐(0) 编辑
摘要:1:flat 降维 flatMap 1 const arr = [ 2 [1, 2, 3], 3 [20], 4 [ 5 [21, 22], 6 [23, 24] 7 ], 8 [90] 9 ] 10 console.log(arr); 11 // flat的使用 默认降一个维度 12 consol 阅读全文
posted @ 2022-03-28 20:47 沁霓 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1:Object.value获取对象的value值 const obj = { name: 'tyy', age: 18 } console.log(Object.keys(obj)); console.log(Object.values(obj)); 2:Object.entries 获取对应键值 阅读全文
posted @ 2022-03-28 19:07 沁霓 阅读(38) 评论(0) 推荐(0) 编辑
摘要:1:set的一些使用 1 //创建set结构 2 const arr = new Set() 3 arr.add(30) 4 arr.add(40) 5 arr.add(50) 6 //set里面元素不能重复 7 arr.add(30) 8 console.log(arr); 9 //应用场景 数组 阅读全文
posted @ 2022-03-24 20:38 沁霓 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1:函数的默认参数 1 function foo(x = 20, y = 30) { 2 console.log(x, y); 3 } 4 foo(50) 5 foo(undefined, '') //解决了之前的弊端 6 //默认值和解构结合 7 function bar({ name, age 阅读全文
posted @ 2022-03-24 11:50 沁霓 阅读(33) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示