编程随想
二进制位操作对多状态组合的应用
这其实是属于前辈级程序员们玩剩下的东西,去写win32的程序,调用win32 api的时候,经常会碰到属性状态的组合,比如这个例子: int DisplayResourceNAMessageBox()...
JavaScript的数据类型
变量名与变量值 var age = 15; 变量名只是标识符,可以理解为内部指针,指向变量值所在的内存地址。变量名没有类型一说。 在一个姓名唯一的星球上,张三用于指代某个人,张三就是变量名,那个人就是...
细数JavaScript中一些不能被new的函数
最近发现组内的很多人基础太不牢固,打算整一个关于JavaScript的思维导图,搞一次技术分享。结果发现原来自己也遗漏了相当多得细节。接下来,我就来细数下那些不能被new的函数,这些函数被new的时候...
Dart学习笔记:Iterable与Stream
避免烂尾,先开坑。 初略看了下Stream API,应该是一个很深的坑。Stream实现了类似于Rx的许多API,估计过年在家要好好读读文档了。 本打算只写关于Stream的东西,后面翻了一下文档,发...
Dart学习笔记:Future
Dart下的Future类似于ES6下新增的Promise,也是为了解决异步回调带来的各种问题。 构造函数 Future(FutureOr<T> computation()) comput...
Dart学习笔记:异常
Dart 和 Java 不同的是,所有的 Dart 异常是非检查异常。 方法不声明他们可能抛出的异常, 并且你不被要求捕获任何异常。 Dart 提供了 Exception 和 Error 类型, 以及...
Dart学习笔记:类
本想按《Dart学习笔记 1: xxx》格式的,但这样就相当于立了flag,后面还需要有2、3、4…还是算了吧,指不定就烂尾了。 今天刚好又回过头来瞄了下官方文档,顺便记下笔记。 声明 c...
一个符合Promise/A+的Promise实现
const PENDING = ‘pending’; const RESOLVED = ‘resolved’; const REJECTED = ‘rejected’; const stateSymb...
其他方式的nextTick
这几天利用空余时间在完成一个去年未尽的活:从零开始实现一个Promise。 浏览器中原生的Promise,then里面的回调被放入事件循环中的微任务队列,而setTimeout的回调则被放入了宏任务队...
微信笔试题:LazyMan实现
实现一个函数LazyMan,执行情况如下: LazyMan(“Hank”) // 输出:Hi! This is Hank! LazyMan(“Hank”).sleep(10).eat(“dinne...
Cookie那些事儿
面试别人的时候,经常碰到自诩精通HTTP协议的人,我一般会丢个问题“HTTP协议是否有状态?”,来试探是否真的“了解”HTTP协议,很多人听到问题就懵逼了,这TM还是我认识的HTTP协议么。偶尔碰到一...
现阶段我所理解的事件循环
流程如图: 浏览器与Nodejs比较,首先相同点: 微任务都是需要清空后再执行后续任务,也就是说,微任务中产生的其它微任务也会被加入到本轮循环的微任务队列末尾执行。 不同点: 1. Nodejs流程会...