摘要: 模拟迭代器next方法 个人理解:首先感觉闭包的用处真是无处不在,而且下面三元运算用到一个点很巧妙,nextIndex++使用的是后++的方式,先使用值在运算叠加 function makeIterator(array){ var nextIndex = 0; return { next(){ re 阅读全文
posted @ 2020-05-26 13:42 671_MrSix 阅读(387) 评论(0) 推荐(0) 编辑
摘要: Promise实现:最难的部分感觉是不同实现的Promise之间的交互,代码看不懂,暂时不加那部分的代码 function Promise (executor){ var self = this self.status = 'pending' self.data = null self.onReso 阅读全文
posted @ 2020-05-26 13:41 671_MrSix 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 每个开发人员都应该掌握的控制台命令(详情得看https://juejin.im/post/5dfc3b0de51d4557ea02b6c4) 如有帮助,请感谢掘金作者!!! grep命令在每个文件中搜索模式 ls命令列出当前活动路径中的文件和目录 pwd命令用于打印当前的工作目录 cat命令最常见的 阅读全文
posted @ 2020-05-26 13:34 671_MrSix 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 父组件created -> 子组件created -> 子组件mounted -> 父组件mounted 个人理解:这也说明了为什么父组件得到的异步数据(一般后端接口返回)通过props传递在子组件的created中得不到,而是通过watch监听后再进行处理,也可以父组件将数据处理好后,在通过pro 阅读全文
posted @ 2020-05-26 13:33 671_MrSix 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 单例设计模式:保证一个类仅有一个实例对象,并提供一个访问它的全局访问点.实现的方法为先判断是否存在,如果存在则直接返回,如果不存在就创建后再返回这样确保一个类只有一个实例对象. 个人理解:这还得写个闭包 ,不写的话拿不到内部instance,不然就得全局声明变量,那样不好 let SingleMod 阅读全文
posted @ 2020-05-26 13:31 671_MrSix 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 为什么要实现websocket心跳? 在使用原生websocket的时候,如果设备网络断开,不会触发任何函数,前端程序无法得知当前的连接已经断开,这个时候如果调用 websocket.send()方法,浏览器就会发现消息发不出去,便会立刻或一定短时间后(不同浏览器或浏览器版本可能表现不同)触发onc 阅读全文
posted @ 2020-05-26 13:19 671_MrSix 阅读(229) 评论(0) 推荐(0) 编辑
摘要: const array = new Array(5) array[0] = 0 array.map(item => ({})) // [{…}, empty × 4] 阅读全文
posted @ 2020-05-26 13:16 671_MrSix 阅读(110) 评论(0) 推荐(0) 编辑
摘要: for of:不能遍历对象,除非手动实现迭代器、可以直接得到值 let arr = [1,1,2,2,4] for(let k of arr){ console.log(k) } // 1 1 2 2 4 for in:可以遍历数组与对象,查询原则会查询原型链,效率慢 阅读全文
posted @ 2020-05-26 13:14 671_MrSix 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 伪乱序 var arr = [1,2,3,4,5,6,7,8,9] function compare(){ return Math.random() > 0.5 ? 1 : -1 } arr.sort(compare) 搜索算法 -> 随机算法 const outOfOrder = (arr) => 阅读全文
posted @ 2020-05-26 13:12 671_MrSix 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 支持同一dom元素注册多个同类型事件 可将事件分为事件捕获和事件冒泡机制 阅读全文
posted @ 2020-05-26 13:10 671_MrSix 阅读(82) 评论(0) 推荐(0) 编辑