23 01 月 2020 酸甜苦辣的 2019 酸甜苦辣今年是创业的第二年,有时觉得很幸苦,有时觉得很慵懒,有时觉得有压力,有时觉得很幸福。也许这就是生活,充满了酸甜苦辣。2019 翻看了去年的总结,很巧,都是大年三十的前一天所写。因此决定以后每年大年二十九为自己加一条:宜写总结点滴生活回忆这一年,感觉每天的日常都差不多:早起-> 送娃-> 吃早点-> 打码-> 午饭-> 散步(B3log 产品讨论会)-> 午睡-> 接娃-> 晚饭-> 陪娃-> 打码-> 煲剧-> 睡觉。
23 01 月 2020 功能 - 柯里化函数 2020-01-23 描述将一个函数实现柯里化传参。提示使用递归如果提供的参数(args)个数充足,则调用传递的函数 fn 否则的话,返回一个包含剩余参数的柯里化函数 fn 如果你想要柯里化一个可以接受任意参数的函数(一个可变参函数,如 Math.min()),你可以将参数的数量传递给第二个可选参数 arity 代码 constcurry=(fn,arity=fn.length,...args)=>arity<=ar
22 01 月 2020 功能 - 调用栈清空后再执行 2020-01-22 描述延迟一个函数的调用,直到调用栈被清空后才执行。提示使用一个 1ms 延迟的 setTimeout()将一个新的事件添加到浏览器事件队列中,并允许渲染引擎完成他的任务使用扩展运算符...将 fn 之后剩余的参数提供给延迟执行的函数作为参数代码 constdefer=(fn,...args)=>setTimeout(fn,1,...args);示例先打印 b 再打印 a:defer(console
15 01 月 2020 功能 - 重复调用函数 2020-01-14 描述使用迭代函数和初始值构建一个数组。提示使用 while 循环和 Array.prototype.push()重复的调用函数,直到返回 false 迭代函数只接受一个参数 seed,他每次运行后要么返回包含两个元素的数组[value,nextSeed],要么返回终止标志 false 代码 constunfold=(fn,seed)=>{letresult=[],val=[null,seed];w
15 01 月 2020 功能 - 函数聚合 2020-01-13 描述接受一个聚合函数和一个使用列表保存的分支函数作为参数,每一个分支函数都使用相同的参数进行运行,并将运行结果展开作为聚合函数的参数,最终返回该聚合函数运行的结果。提示使用 Array.prototype.map()和 Function.prototype.apply()让每一个函数都使用传入的参数进行运行使用扩展运算符(...)将所有其他的函数结果做为参数传递给 coverger 代码
11 01 月 2020 Vditor v2.0.15 发布,支持所见即所得编辑模式 简介该版本主要特性如下:支持所见即所得编辑模式添加初始化默认值参数在此感谢 jakekwak 反馈的 bug 和提出的宝贵建议。所见即所得编辑模式是一个才诞生的 👶,在体验上有许多不足,也存在一些 🐛。在使用过程中如有任何问题可在本帖下方留言或到 GitHub 上提 issue,下个版本中会继续进行优化。升级默认的编辑模式由 Markdown 源码变为所见即所得模式,可根据需要对 option.mode 参数进行修改文档更新
10 01 月 2020 功能 - 属性方法绑定 2020-01-10 描述创建一个函数,使其可以调用指定对象中的属性方法,并且还可以支持将后续提供的任意参数作为柯里化函数中的单一参数。提示返回一个使用 Function.prototype.apply()绑定 context[fn]为 context 的 function 使用扩展运算符...展开后续提供的任意参数和单一参数作为 function 中的参数代码 constbindKey=(context,fn,...
09 01 月 2020 功能 - 属性检测 2019-12-18 描述传入一个 predicate 函数和一个 prop 字符串,然后使用柯里化函数将通过属性调用检查的 object 传递给 predicate。提示获取 obj 对象中的 prop 值将获取的值传递给已提供好的 predicate 函数最终返回该函数的真假值代码 constcheckProp=(predicate,prop)=>obj=>!!predicate(obj[prop]);示例检测对象的长度是否
03 01 月 2020 日期 - 一个日期是否在另一个日期后面 2020-01-03 描述检查一个日期是否在另外一个日期的后面。提示传入两个参数,检测第一个日期是否在第二个日期之后使用大于运算符(>)来进行检查代码 constisAfterDate=(dateA,dateB)=>dateA>dateB;示例输入两个日期,第一个日期是否在第二个日期之后:isAfterDate(newDate(2020,01,02),newDate(2020,01,03));//fal
02 01 月 2020 日期 - 计算两个日期之间相差的天数 2020-01-02 描述放回两个日期中相差的天数。提示两个 Date 对象相减获取相差的毫秒把相差的毫秒兑换为天数代码 constgetDaysDiffBetweenDates=(dateInitial,dateFinal)=>(dateFinal-dateInitial)/(1000*3600*24);示例 B3log 想法距今有多少天了:getDaysDiffBetweenDates(newDate('2