会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
半夜盗贼
学而不思则罔,思而不学则殆
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
2019年2月19日
js深拷贝/浅拷贝
摘要: 数据类型 数据分为基本数据类型(String, Number, Boolean, Null, Undefined,Symbol)和对象数据类型。 基本数据类型的特点:直接存储在栈(stack)中的数据 引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里 引用数据类型在栈中存储了指
阅读全文
posted @ 2019-02-19 08:51 半夜盗贼
阅读(309)
评论(0)
推荐(0)
2019年2月17日
js函数式编程-函数合并
摘要: 函数编程的函数组合:两个纯函数组合之后返回了一个新函数 var compose = function(f,g) { return function(x) { return f(g(x)); }; }; 效果: var toUpperCase = function(x) { return x.toUp
阅读全文
posted @ 2019-02-17 11:05 半夜盗贼
阅读(1642)
评论(1)
推荐(0)
2019年2月16日
js的函数式编程-柯里化
摘要: Currying 为实现多参函数提供了一个递归降解的实现思路——把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数,在某些编程语言中(如 Haskell),是通过 Currying 技术支持多参函数这一语言特性的。 所以 Curryi
阅读全文
posted @ 2019-02-16 13:41 半夜盗贼
阅读(256)
评论(0)
推荐(0)
2019年2月14日
手动实现一个可拖动的画布
摘要: 想学习可视化,做一个可编辑的可视化工具已经很久了,一个可拖动和缩放的画布是很有必要,在参考了gridstackjs 后作出一个简单的可拖拽和缩放的画布。 画布初始化 首先完成画布的大致功能结构,主要是利用mousedown,mousemove,mouseup来记录鼠标的位置信息,并触发初始化传入的钩
阅读全文
posted @ 2019-02-14 09:46 半夜盗贼
阅读(1324)
评论(0)
推荐(0)
2019年2月1日
截流防抖函数
摘要: 截流防抖函数经常用在频繁按钮操作,页面滚动触发,鼠标拖拽,输入查询等功能中。是为了在频繁操作中为了减少性能损耗的小技巧,这两个概念常用但是又容易混淆,下面简单的分析下防抖与截流的异同之处 防抖:意味着防止抖动出现的误操作,也就是防止像抖动一样的频繁操作。所以在防抖函数里会有个时间限制,当函数在一次执
阅读全文
posted @ 2019-02-01 11:42 半夜盗贼
阅读(2502)
评论(0)
推荐(0)
2019年1月31日
手动实现一个eventEmitter
摘要: 观察者模式在前端开发中非常常用,我们经常用的事件就是观察者模式的一种体现。它对我们解耦模块、开发基于消息的业务起着非常重要的作用。Node.js 原生自带 EventEmitter 模块,可见它的重要性。 作为在工作中经常遇到和面试的经典题目当然要琢磨透彻,下面一步步手动写一个eventEmitte
阅读全文
posted @ 2019-01-31 11:25 半夜盗贼
阅读(2292)
评论(1)
推荐(1)
2019年1月16日
canvas绘图不清晰的解决方案
摘要: canvas 作图经常会遇到canvas绘制的图片模糊不清问题,这种问题实际上是画布尺寸与画布范围内实际像素不一致造成的。了解 dpr 原因分析 假设dpr = 2;图片大小为60x60px; 1.DOM呈现图片过程 图片——》浏览器css像素(显示尺寸)——》屏幕实际像素 60x60 30x30
阅读全文
posted @ 2019-01-16 17:46 半夜盗贼
阅读(8111)
评论(1)
推荐(1)
2019年1月15日
pageX,clientX,screenX,offsetX 记录
摘要: 最近在写一个可拖拽的画布功能,所以用到获取位置信息较多,由于基础不扎实忘了一些,容易混淆的API,在这里记下pageX,clientX,screenX,offsetX区别 pageX/pageY: 鼠标相对于整个页面的X/Y坐标。注意,整个页面的意思就是你整个网页的全部,比如说网页很宽很长,宽200
阅读全文
posted @ 2019-01-15 00:10 半夜盗贼
阅读(172)
评论(0)
推荐(0)
2019年1月10日
javascript 异步编程
摘要: js 是一种"单线程”(single thread)执行环境的语言,所以在任务执行的过程中是按照队列的形式,当一个任务执行完再执行下一个任务,这样的模式会因为一个任务执行时间较长的时候出现性能问题,例如页面假死状态。 为了解决这个问题,js将执行模式分为两种:同步(synchronous)和异步(a
阅读全文
posted @ 2019-01-10 23:44 半夜盗贼
阅读(223)
评论(0)
推荐(0)
2019年1月3日
react合成事件的实现机制
摘要: 在 React 底层,主要对合成事件做了两件事:事件委派和自动绑定。 1. 事件委派 在使用 React 事件前,一定要熟悉它的事件代理机制。它并不会把事件处理函数直接绑定到 真实的节点上,而是把所有事件绑定到结构的最外层,使用一个统一的事件监听器,这个事件监 听器上维持了一个映射来保存所有组件内部
阅读全文
posted @ 2019-01-03 09:13 半夜盗贼
阅读(2681)
评论(0)
推荐(0)
上一页
1
2
3
4
公告