微信笔试题:LazyMan实现
实现一个函数LazyMan,执行情况如下: LazyMan(“Hank”) // 输出:Hi! This is Hank! LazyMan(“Hank”).sleep(10).eat(“dinne...
Cookie那些事儿
面试别人的时候,经常碰到自诩精通HTTP协议的人,我一般会丢个问题“HTTP协议是否有状态?”,来试探是否真的“了解”HTTP协议,很多人听到问题就懵逼了,这TM还是我认识的HTTP协议么。偶尔碰到一...
现阶段我所理解的事件循环
流程如图: 浏览器与Nodejs比较,首先相同点: 微任务都是需要清空后再执行后续任务,也就是说,微任务中产生的其它微任务也会被加入到本轮循环的微任务队列末尾执行。 不同点: 1. Nodejs流程会...
那些年被我们忽视的Vary:Origin
之前刷知乎有看到一篇文章,讲Vary头未配置引起资源缓存错乱的问题,当时只是大概瞄了下,对Vary这个头有了点印象,便没有继续深究。 今天同事碰到一个奇怪的bug,由于chrome65开始禁止通过a标...
HTTPS握手时序图
大图 感觉还有些不明白的地方,等明白了再补上。 源码: title HTTPS Handshake Client->Server: 1.协议版本\n2.加密方式列表\n3.支持的压缩算法\n4....
jest + vue-test-utils为vue项目写单元测试
1.安装依赖库 npm i -D @vue/test-utils babel-jest jest jest-serializer-vue vue-jest 2.配置jest (package.json...
ubuntu下运行Puppeteer
通过npm安装完puppeteer后若运行报错,可能需要通过apt-get安装一些缺少的依赖 sudo apt install gconf-service libasound2 libatk1.0-0...
两个关于Promise的坑
1.Promise.race Promise.race用于处理一般竞态问题,参数为一个迭代器可迭代对象,该对象中的任意成员状态发生改变,Promise.race返回的promise状态随即发生改变。 ...
正则验证一串字符串是否包含三个及以上数字
用如下表达式表示包含数字的情况 /\D*\d/ 至少包含三个数字的表示 /(?:\D*\d){3}/ 测试: /(?:\D*\d){3}/.test(‘aaawqdw’) //false /(?:\D...
一个添加千分位分隔符的正则
在只使用正则的情况下,把一个整数用千分位分隔符(半角逗号)分隔,如 原始字符: 198123123123123 变为 198,123,123,123,123 分析: – 从后往前每三个数字...