递归调用的栈问题 正常的递归,线性递归,需要在调用栈中推入n个执行上下文尾递归,只保留后一个函数堆栈,前面的可以优化删除(尾优化???)蹦床函数:将递归函数转为循环执行,调用栈中只有一个执行上下文function runStack (n) { if (n === 0) return 100; return runStack.bind(null, n- 2);}// 蹦床函数function trampoline(f) { while (f && f instan
contenteditable 这个属性为富文本编辑奠定了基础然则特殊的Safari和iOS又来了,在Safari中加了contenteditable属性无效,不可编辑只有展示解决方案-webkit-user-select: auto我也是百度的,记录一下
react useEffect的父子组件执行顺序 Component写法下父子组件的生命周期执行顺序初次挂载父constructor父componentWillMount父render子constructor子componentWillMount子render子componentDidMount父componentDidMountuseEffect可以简单看作是componentDidMount、componentDidUpdate和componentWillUnmount的组合react保证了每次运行effect.
ueditor纯前端配置使用七牛等存储图片和文件遇到的问题 项目内难免遇到要使用富文本编辑的内容,ueditor是个还不错的选择,不过很多时候ueditor的配置都会交给后端去完成,那么在前后分离,纯前端配置的情况下,如何修改ueditor来使富文本的一些基础功能可用,以下记录一些问题以下ueditor版本为1.2.6.1,版本较低将文件图片等上传上传到七牛云等oss存储地址七牛云的存储需要一个token作为参数才能将文件存到自己账户下的目标b...
非递归将数组转换成树形结构 function listToTree(list) { let map = {} let node let roots = [] for (let i = 0; i < list.length; i++) { list[i]._level = 1 map[list[i].id] = i // initialize the map ...
renren-security部署阿里云服务器 renren的开源文档很贵,舍不得买,昨天上网找了两个小时找部署的文档,后来,请教了公司的大佬zq没想到五分钟就搞定了,记录一下当日记,以免日后忘记工具:idea先简要介绍一下renren-security的目录结构renren-admin主要是管理端的代码,权限控制等比较方便renren-api主要提供用户端的apirenren-common主要存放一些公共的工具类实体类...
setTimeout一小注意点 setTimeout意味着在多少毫秒之后触发对应的动作,那么在这个毫秒数超出了最大整型数之后会怎么样呢?前几天公司运营报了一个页面异常说打卡一个页面旋转等待弹窗不间断的弹出,经查看是不断的在执行setTimeout中的一个动作,至此大家仍未意识到是什么原因造成了此现象,觉得问题出在前端。在我和另一个前端仔细检查了逻辑之后并未发现逻辑错误,此时后端人员也开始检查给前端返回的这一秒数——后端返回的...