2019年9月4日
摘要: ES5的继承实现,这里以最佳实践:寄生组合式继承方式来实现。(为什么是最佳实践,前面有随笔讲过了,可以参考) function Super(name) { this.name = name; } Super.prototype.sayName = function() { console.log(t 阅读全文
posted @ 2019-09-04 15:16 言先生 阅读(979) 评论(1) 推荐(1) 编辑
  2019年8月5日
摘要: 这篇随笔是笔者在刷LeetCode时总结的一些奇淫技巧,有助于提升代码质量以及执行速度,归纳总结,长期更新: 1,转字符串,用a + '',而不用toString或String(),更快 2,数组循环遍历一定不如对象属性遍历的读取速度,而对象属性遍历的速度里使用ES6的Map操作会更快 3,forE 阅读全文
posted @ 2019-08-05 00:26 言先生 阅读(432) 评论(0) 推荐(1) 编辑
  2019年8月4日
摘要: /** * @description querystring模块 */ const querystring = require('querystring'); const url = 'https://www.trip.com/things-to-do/list?searchtype=1&searchkey=2&cityid=58&keyword=disney'; const quer... 阅读全文
posted @ 2019-08-04 23:09 言先生 阅读(412) 评论(0) 推荐(0) 编辑
摘要: /** * @description fs模块常用api */ // fs所有的文件操作都是异步IO,如果要以同步的方式去调用,都会加一个在原同步api的基础上加Sync // 同步的方式会在最后传入一个callback,异步的方式不会传callback // 异步的缺陷就是无法控制异常,只能用try catch const fs = require('fs'); const path ... 阅读全文
posted @ 2019-08-04 22:53 言先生 阅读(244) 评论(0) 推荐(0) 编辑
  2019年6月20日
摘要: 当前版本:v 10.16.0 一,获取文件相关信息 1,path.basename(filepath[, ext]) 获取该文件的文件名,如果有扩展名,则一起显示扩展名; 如果不想展示扩展名,只想展示文件名,那么第二个参数可选,传入具体的文件扩展名,返回文件名而不包括扩展名。 2,path.dirn 阅读全文
posted @ 2019-06-20 21:57 言先生 阅读(276) 评论(0) 推荐(0) 编辑
  2019年5月30日
摘要: 先看一些概念性的术语: 命中率:由缓存提供服务的请求所占的比例被称为缓存命中率; 缓存未命中:其实就是一些到达缓存的请求没有副本可用,而被转发给原始服务器; 再验证:原始服务器上内容可能会发生变化,缓存需要对副本进行检测,看是否为最新的,这种“新鲜度检测”叫HTTP再验证; 缓存主要分为两类: 一, 阅读全文
posted @ 2019-05-30 13:03 言先生 阅读(257) 评论(0) 推荐(0) 编辑
  2019年3月7日
摘要: 引言:为什么数据流管理如此重要?react的核心思想就是:UI=render(data),data就是我们说的数据流,render是react提供的纯函数,所以用户界面的展示完全取决于数据层。这篇文章希望能用最浅显易懂的话,将react中的数据流管理,从自身到借助第三方库,将这些概念理清楚。我会列举 阅读全文
posted @ 2019-03-07 09:44 言先生 阅读(4524) 评论(1) 推荐(2) 编辑
  2019年1月16日
摘要: 先来看一下传统的面向类式的写法: 这里的Object.create也可以替换成Object.setPrototypeOf,但是我们这里并不care它的constructor指向是否正确,所以从可读性的角度我们用Object.create。(why ? 请参考上一篇) 上面是传统的,也是最为推崇的寄生 阅读全文
posted @ 2019-01-16 10:22 言先生 阅读(253) 评论(0) 推荐(0) 编辑
  2018年12月5日
摘要: 在介绍我们的主角之前,我们先来回顾一下经典的类和继承的设计模式。 如果你对这块内容比较熟悉的,可以直接跳过这篇,看(下)篇,不过也可以看一遍,因为这块会讲得比较细,相信你会有新的收获。 先上代码 function Foo() {} Foo.prototype.print = function() { 阅读全文
posted @ 2018-12-05 10:15 言先生 阅读(187) 评论(0) 推荐(0) 编辑
  2018年11月29日
摘要: 上面这个内容会打印什么? 看过这题的都会知道答案,每隔一秒打印一个5,打印5次。如果我想将每一轮循环的i打印出来呢,很简单,将var替换成let; 这道题真的是考察闭包吗? 为什么要有闭包? 因为在JavaScript中,没有办法在函数外部访问到函数内部的变量对象。那么反之,有了闭包,我们可以在函数 阅读全文
posted @ 2018-11-29 14:22 言先生 阅读(1691) 评论(0) 推荐(0) 编辑