Recoil 新一代的 React 函数式编程 状态管理工具

2022-06-09
阅读 4 分钟
2.4k
起因是最近重构了一个 props 传递层级非常深,组件之间状态通信非常频繁的详情页面。整个代码梳理下来,很难维护,重构时考虑,做组件细分,把数据单拎出来,对数据做一个松散管理。

你的前端项目可能需要重构了

2020-07-31
阅读 2 分钟
3.1k
我们开发惯指的重构,一般都是指技术重构。简单点说就是基于项目进行代码层面的重构。推倒了重新来,老房子扒掉重新造,肯定是有钱了想让自己更舒适,程序代码推倒了重新写,还不是因为代码质量经过长年累月需求迭代,祖传代码越来越难维护,更别说在这个基础上去老树开花,开发一些新功能。(代码太烂,遗留的坑太多,...

《Node 实战(第2版)》读书笔记(一、初识Node)

2019-11-15
阅读 2 分钟
988
Node 和 JavaScript 的优势之一是它们的单线程模型。这样代码控制逻辑很清晰、明了。但是 Node 采用了事件轮询、异步API、非阻塞 I/O三种技术来解决单线程阻塞(等待的问题)。

手写一个 JavaScript 的 apply、call 函数

2019-10-31
阅读 3 分钟
1.7k
之前我有提到过 call、apply 主要用来改变函数运行时的执行环境(this),对于执行环境(this)以及 call、apply 用法不了解的,可以参考之前的文章:JavaScript 函数作用域、执行环境(this)、call、apply、bind 的用法。

Web前端发展史(自我成长技术路线图)

2019-09-04
阅读 3 分钟
16k
前端其实是个很大的范畴。我这里只针对 web 开发的前端而言(下文统称前端)。简单点说,针对浏览器的开发,浏览器呈现出来的页面就是前端。它的实质是前端代码在浏览器端被编译、运行、渲染。前端代码主要由三个部分构成:HTML(超文本标记语言)、CSS(级联样式表)、JavaScript。如图:

JavaScript 函数作用域、执行环境(this)、call、apply、bind 的用法

2019-05-15
阅读 2 分钟
3.7k
this对象是在运行时基于函数的执行环境绑定的。比如:在全局函数中,this 等同于 window 或者 global,而当函数被作为方法调用时,this 等于那个对象。特别需要注意的是在执行诸如:setInterval、setTimeout 等函数的回调时,此时的 this 其实是指向全局 window 的,因为类似这样的方法其实是 window 的属性方法。所以我...

简析 js 碰撞检测原理与算法实现

2018-12-20
阅读 3 分钟
14.7k
碰撞,顾名思义,就是两个物体碰撞在了一起,眼睛是可以直观的观察到碰撞的发生。但对于前端实现,如何让 JavaScript 代码理解两个独立的“物体”(DOM)碰撞在一起呢。这就涉及到碰撞检测(或者叫边界检测)的问题了。

HTML 文档流,设置元素浮动,导致父元素高度无法自适应的解决方法(高度欺骗)

2018-06-11
阅读 3 分钟
3.8k
float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

Python 基础概览

2018-05-15
阅读 1 分钟
2.1k
Python 源文件通常用.py 扩展名。当源文件被解释器加载或显式地进行字节码编译的时候会被编译成字节码。由于调用解释器的方式不同,源文件会被编译成带有.pyc或.pyo扩展名的文件,你可以在第十二章“模块”学到更多的关于扩展名的知识。

JavaScript 事件冒泡与事件委托

2018-05-12
阅读 2 分钟
2.3k
事件冒泡 IE的事件流叫做事件冒泡。顾名思义当事件发生后,事件就开始从里向外传播,查看下方代码: {代码...} 如果点击页面中的 <div> 元素,那么这个 chick 事件就会按照如下顺序传播: click 事件 在 直系DOM 树的每一级节点都会发生(自下而上),直到 document 对象。 事件委托 又称事件代理。对“事件处理程...