背景 需要使用 Canvas 实现添加图片、文字、摄像头画面,并且支持拖拽、缩放、旋转等功能。 但成熟 Canvas 库(比如 Sprite.js Fabric.js )一般都比较庞大(300kb+),所以自己实现精简版本,减少体积。 DEMO ...
背景 需要使用 Canvas 实现添加图片、文字、摄像头画面,并且支持拖拽、缩放、旋转等功能。 但成熟 Canvas 库(比如 Sprite.js Fabric.js )一般都比较庞大(300kb+),所以自己实现精简版本,减少体积。 DEMO ...
有两种方式实现元素的鼠标悬浮交互: css;使用伪类.foo:hover{ /* 悬浮时样式 */ } js;通过监听元素的mouseenter、mouseleave事件,控制元素的样式 方法一 使用 chrome devtools 提供的样式调试工具 比如修改悬浮时文字的背景色, [Demo](https://www.w3school.com ...
前言 听说 Hooks 有一段时间了,一直没去看文档。最近终于想起这事儿,浏览一遍文档后,立即燃起了一种“兴奋感”。 这种“兴奋感”犹如当初看见“箭头函数”、“async/await”一样。 所以,即使在有很多分析文章的情况下,仍想再写一些个人的思考和感受。 [react hooks官方文档](https://reactjs.org/docs/hooks-intro.html ...
阅读本文需要相关知识储备: Service Worker 生命周期、Workbox、前端同构渲染 背景 ...
本方案是一个预研项目的产出,只做出了 DEMO,后因非技术原因,方案没有落地实践。 背景 某些页面展示逻辑复杂,比如点评 APP 首页,用户看到的页面结构是动态的,与所选城市、地理位置、APP 版本相关。 即使 web 端发版迅速,没有 Native 类似的兼容问题,如果所有逻辑代码维护成本也会越来越大。 目标 设计一套方案,使 web 页面支持根据配置 ...
*刚刚与网友谈到这个话题。 史书总是把王朝兴衰全归因于“人”,我更愿意相信其主因是“天”。 所以,我更“青睐”把王朝更替与气候变化关联起来的相关学说。* 以下为爱好者臆测“为何是秦灭六国,一统天下”的原因(由于是爱好者,并不打算详细论证^_^) 天 春秋战国时期大降温(看图)。 [来源链接](http://w ...
存在即合理。 —— 黑格尔 一 我很久前曾多次纳闷:苍蝇,存在的意义是什么? 不像蚊子,咬人痛痒,它飞来飞去让人厌烦,飞得还快打不着,打着了又让人恶心。 总之,它不那么坏,整天飞来飞去惹人厌烦外,不能理解其存在的意义。 现在看来,当时的思考内容略显幼稚。 但人总是受限于自己的主观经验,难以理解很多事物存在的“理”。 二 然,大道至简。 足够“简 ...
回顾上两期 优点(简单) 对象 链(原型链 & 作用域链) 一切都是对象(包括函数),构建世界的原料,越少越简单、灵活。 jimu 观察者模式,例: class Observer { constructor() { this.subscribe ...
JS历史 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。 网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。 评:初始设计目标。 1995年5月,网景公司做出决策,未来的网页脚本语言必须"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。 评:划重点 “非专业也能很快上 ...
[[toc]] 分享目标 JS 数据处理技巧速成 让你感叹:JS 还可以这样写 基础 实践原则 数据处理时,尽量避免创建临时变量(特别是 let)、修改参数、改变外部引用、for、if 等 分离 数据处理 与 副作用(DOM 操作、存储、网络请求等)代码 数据处理指:数值计算和数据结构变换。 第一点:如何避免? **1. 熟 ...