• https://zhaomenghuan.github.io/blog/Android-JavaScript-Engine-V8.html

  • https://zhaomenghuan.github.io/blog/nodejs-eggjs-usersytem.html

  • P.S.最近在看dayjs的源码,源码上用到了 valueOf 方法,虽然知道这个方法,但是很少接触,就试着找来了ECMAscript标准文档来看看标准的定义。

    首先看下标准对于 Object.prototype.valueOf 的定义:

    关于 ToObject,标准如下定义:

    翻译过来就是:

    参数类型 返回结果
    Undefined 抛出 TypeError 异常
    Null 抛出 TypeError 异常
    Boolean 创建一个Boolean对象,初始值为参数值
    Number 创建一个Number对象,初始值为参数值
    String 创建一个String对

  • funfishfunfish/blog· 9 时前

    概论

    不可变结构是一种很便利的函数式编程的数据结构,也是现代语言标准库如 Clojure 和 Scala 的一部分。其相同的部分是基于有固定数量的子节点的多阶树,允许快速查询和更新操作。在本文中我们采用了一种新的潜在的 vector 结构 Relaxed Radix Balanced Trees(RRB-Trees)。并展示了这种数据结构在 O(logN) 的时间里进行不可变数据 vector 的串联,插入和分割操作,同时维持着和原始 vector 数据结构的查询、更新和迭代接近的速度。

    1 介绍

    不可变数据结构可以便利地处理在多核并发的环境中存在的问题。不可变数据像 List 可以在函数式编

  • funfishfunfish/blog· 9 时前

    前言

    前文《初识immutable》介绍 immutable 的一些基本操作和特色,但是其重点部分结构共享,即数据结构留在了这里。这不是平时接触到的简单的数组、对象亦或则字典的形式,而是 tree !日常开发基本就遇不到树结构,再复杂一个字典表就可以搞定了,于是乎 immutable.js 提供了一次很好的学习数据结构,学习算法的体验。

    共享结构

    共享结构还是比较简单的。对于已有的数据结构,若需要更新其中的某个节点(中间节点或则子叶),并不会把整个数据结构都拷贝一份,再修改该节点并返回新的数据结构。immutable.js 里面会采用路径修改的方式来实现更新。

    简单的来讲,对于数组或则对象的形