纯HTML、CSS、JS实现树形列表结构 效果查看:https://codepen.io/bisserof/pen/nrMveb HTML: <div id="fontSizeWrapper"> <label for="fontSize">Font size</label> <input type="range" value="1" id="fontSize" step="0.5" min="0.5" max="5" /> </div> <ul cl…
纯HTML、CSS、JS实现树形列表结构 效果查看:https://codepen.io/bisserof/pen/nrMveb HTML: <div id="fontSizeWrapper"> <label for="fontSize">Font size</label> <input type="range" value="1" id="fontSize" step="0.5" min="0.5" max="5" /> </div> <ul cl…
一般在哪里用得到正则? RegExp.prototype.test() test() 方法执行一个检索,用来查看正则表达式与指定的字符串是否匹配。返回 true 或 false。 若正则对象带了全局标志符号时,test() 的执行会改变正则表达式的 lastIndex 属性。连续执行 test() 方法,后续的执行将会从 lastIndex 处开始匹配字符串。 RegExp.prototype.exec() 在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null。 正常情况下,如果匹配成功,则返回一个数组…
背景 上篇文章 函数式JS: 一种continuation monad推导 得到了一个类似promise的链式调用,引发了这样的思考:难道promise是monad?如果是的话又是怎样的monad呢?来来来,哥哥带你推倒,哦,不,是推导一下! Monad Monad是haskell里很重要的概念,作为一种类型,有着固定的操作方法,简单的可以类比面向对象的接口。 定义 unit :: a -> Monad a flatMap :: Monad a -> (a -> Monad b) -…
背景 js(javascript)揉合了面向对象和面向函数的特性,使用js解释如何从面向对象迁移到面向函数非常适合,这部分介绍js continuation monad的简明推导。 continuation monad monad的一种,用于模式化cps(也就是回调风格),monad是函数型语言处理副作用的其中一种方式,可以理解为容器(见末尾参考) 定义 unit :: a -> monad a bind :: monad a -> (a -> monad b) -> monad b &nb…
移动端webview在处理click事件的时候会有一定的延迟。我们可以用fastclick来解决,但fastclick未压缩23k,压缩后8k,比较重,这里有一个简易的解决方案: function onFastClick(element ,handler) { var delay = 300, offset = 10, still = true, startX = 0, startY = 0, touch; function longClick() {//排除长按 still = false; } function…
JavaScript提供了许多通过LOOPS迭代的方法。本教程解释了现代JAVASCRIPT中各种各样的循环可能性 目录: for forEach do...while while for...in for...of for...in vs for...of 介绍 JavaScript提供了许多迭代循环的方法。本教程通过一个小例子和主要属性解释每一个。 for const list = ['a', 'b', 'c'] for (let i = 0; i < list.length; i++) {…