实现useUndo
useUndo
今天无意间看到一个有意思的库 useUndo,想着自己实现下。具体代码链接在文章末尾可见。
help function and state
// e.g
const [
countState,
{
set: setCount,
reset: resetCount,
undo: undoCount,
redo: redoCount,
canUndo,
canRedo
}
] = useUndo<number>(0);
const { present: presentCount } = countState;
useUndo 提供了几个功能set, undo, redo, reset跟stat...
Resume
个人简历
求职:前端开发
基本资料
姓名:张跃
Email:2472305432@qq.com
GitHub:https://github.com/zy0228
个人概括
对页面布局,HTML 语义化有深刻地理解;熟练掌握 CSS 页面模块化开发。
熟练掌握原生 JS 并能手写代码,对 JS 闭包,原型,继承知识点有深刻的理解并能在实际项目中运用。
熟悉前端框架 Vue, 并了解过其他框架如 React、Redux、了解 redux 实现。 了解前端常用的构建工具如 Webpack,了解 Typescript。
了解原生小程序开发,uniapp 混合开发(uniapp 社区个人插件 5k+下载量)。
掌握一些常见的设计模式,追求开发高质量、可维护的代...
谈谈js中的继承
写这篇的目的很简单,巩固一下基础。
从苏州到南京好不容易空下来一段时间。把之前的课程学完,顺便把基础再砸牢一点。
在javascript中继承常见的就以下几种:
原型链继承
原型链的构建是同过一个类型的实例赋值给另一个类型的原型实现的。
function SuperType() {
this.color = ['red', 'blue', 'pink']
}
function SubType() {}
SubType.prototype = new SuperType() // 将子类的原型指向SuperType
var instance = new SubType()
缺点:
1 包含引用类型值的原型会被所有实例共享。
function SuperType() {...
链式调用类似于add(1)(2)??如何实现add(1)(2)(3)?
昨晚同事聊天间说她昨天约了个电面,问到了jQuery的链式调用原理。因为我本人很少使用jquery,但是觉得这个问题挺有意思。想深入思考一下。
一开始我错以为的链式调用就是类似于 add(1)(2)(3)~
jQuery的链式调用
像jquery
$('div').addClass('active').click(() => {...})
为什么可以链式调用?
addClass 也好 click 方法也好 其实都是绑定在原型上的。其实只要执行每一步之后都return ‘this’ 也就是返回当前的实例对象,就可以再继续执行原型上绑定的方法。
Promise thenable
Promise.then().then() 关于promise的链式调用,就是使用then方法后返回一...
读zoomerang.js的源码
最近利用空闲时间看了两个极简js库(都是来自尤大的Repositoris)的源码实现,有点小收获 🎉
这篇就先来记录一下我对zoomerang.js这个库源码实现的理解:
zoomerang.js
zoomerang.js是个操作dom的js库,支持放大缩小(几乎)页面中的任何元素
整体这个库实现的思路
其实这个库的大体思路很简单,就是通过给dom绑定点击事件去触发放大/缩小(恢复)事件。有意思的是其中的一些细节、动画、以及之前没有见过的原生api。一步步的开始
IIF
立即执行函数,见了很多js库的源码都是用IIF,zoomerang也不例外,好处在于隔离作用域污染全局变量。以后自己写库的时候也可以借鉴
代码格式风格
看了这个库的基本代码结构觉得自己就是个野路子
...
共计 16 篇文章,2 页。