SF
验证码有误
验证码有误
注册登录
关注博客
注册登录
主页
关于
RSS
介绍 Preact Signals
尹光耀
2022-09-18
阅读 7 分钟
2.4k
1. 什么是 Signals?Signals 是用来处理状态的一种方式,它参考自 SolidJS,吸收了其大部分的优点。无论应用多么复杂,它都能保证快速响应。Signals 的独特之处在于状态更改会以最有效的方式来自动更新组件和 UI。Signals 基于自动状态绑定和依赖跟踪提供了出色的工效,并具有针对虚拟 DOM 优化的独特实现。2. 为什么是 ...
KonvaJS 原理解析
尹光耀
2021-10-11
阅读 19 分钟
6.4k
为了解决这个痛点,诞生了例如 PIXI、ZRender、Fabric 等 Canvas 库。今天要讲的 Konva 也是一个很优秀的 Canvas 框架,API 封装简洁易懂,基于 TypeScript 实现,有 React 和 Vue 版本。
都2020年了,你还不会 JavaScript 装饰器?
尹光耀
2020-03-27
阅读 11 分钟
2.6k
装饰器是最新的 ECMA 中的一个提案,是一种与类(class)相关的语法,用来注释或修改类和类方法。装饰器在 Python 和 Java 等语言中也被大量使用。装饰器是实现 AOP(面向切面)编程的一种重要方式。
从 ECMA 规范看 JavaScript 类型转换
尹光耀
2019-10-09
阅读 6 分钟
1.4k
JavaScript 中的类型转换一直都是让前端开发者最头疼的问题。前阵子,推特上有个人专门发了一张图说 JavaScript 让人不可思议。
如何写好前端业务代码?
尹光耀
2019-03-21
阅读 6 分钟
1.8k
如何写出可维护和可读性高的代码,这一直是一个困扰很多人的问题。关于变量如何起名、如何优化if else之类的小技巧,这里就不做介绍了,推荐去看《代码大全2》,千书万书,都不如一本《代码大全2》。
表驱动法
尹光耀
2019-01-20
阅读 5 分钟
2.5k
在我们平时的开发中,if else是最常用的条件判断语句。在一些简单的场景下,if else用起来很爽,但是在稍微复杂一点儿的逻辑中,大量的if else就会让别人看的一脸蒙逼。如果别人要修改或者新增一个条件,那就要在这个上面继续增加条件。这样恶性循环下去,原本只有几个if else最后就有可能变成十几个,甚至几十个。别说...
深入理解react
尹光耀
2018-12-03
阅读 3 分钟
1.3k
<Test name="world" />经过babel解析后会变为createElement(Test, {name: "world}),这里的Test就是上面的Test方法,name就是Test方法里面接受的props中的name。实际上当我们从开始加载到渲染的时候做了下面几步:
TypeScript踩坑(持续更新)
尹光耀
2018-11-06
阅读 3 分钟
12.8k
很多第三方库已经有自己的类型声明文件,比如@types/react,@types/react-native,这些需要单独安装,而例如mobx-react和mobx这种会自带类型文件,不需要单独安装。
前端进阶资源整理
尹光耀
2018-10-30
阅读 2 分钟
3.3k
前端进阶 webpack webpack进阶构建项目(一) Webpack 4 配置最佳实践 react Redux状态管理之痛点、分析与改良 Web开发中所谓状态浅析:Domain State&UI State 从时间旅行的乌托邦,看状态管理的设计误区 使用Mobx更好地处理React数据 Airbnb 爱彼迎房源详情页中的 React 性能优化 从零开始,在 Redux 中构建时间旅行式...
underscore数组遍历函数分析(一)
尹光耀
2018-03-20
阅读 7 分钟
3.6k
这是underscore源码剖析系列第三篇文章,主要介绍underscore中each、map、filter、every、reduce等我们常用的一些遍历数组的方法。
underscore源码分析之基础方法
尹光耀
2018-03-19
阅读 3 分钟
1.8k
在上篇文章underscore整体架构分析中,我们讲过_上面的方法有两种挂载方式,一个是挂载到_构造函数上以_.map(arr)的形式直接调用(在后文上统称构造函数调用),另一种则是挂到_.prototype上以_(arr).map()的形式被实例调用(在后文上统称原型调用)。
underscore源码剖析之整体架构
尹光耀
2018-03-16
阅读 5 分钟
2.4k
最近打算好好看看underscore源码,一个是因为自己确实水平不够,另一个是underscore源码比较简单,比较易读。本系列打算对underscore1.8.3中关键函数源码进行分析,希望做到最详细的源码分析。今天是underscore源码剖析系列第一篇,主要对underscore整体架构和基础函数进行分析。
手把手教你webpack、react和node.js环境配置(下篇)
尹光耀
2017-03-05
阅读 3 分钟
5.3k
上篇我介绍了前端下webpack和react、redux等环境的配置,这篇将继续重点介绍后台node.js的配置。 这里是上篇链接:手把手教你webpack、react和node.js环境配置(上篇) 我把所有代码都放到了我的github上:webpack-react-express环境配置 server 后台这边的配置就简单了很多,我这里拿node.js的express框架来配置。 expr...
手把手教你webpack、react和node.js环境配置(上篇)
尹光耀
2017-03-05
阅读 5 分钟
10k
很多人刚学习react的时候,往往因为繁琐的配置而头疼,这里我将手把手教大家怎么用webpack配置react和redux的环境,这篇教程包括前端react和后台node整个网站的环境配置,对node没兴趣的可以只看这篇。
CSS中的包裹性
尹光耀
2017-03-03
阅读 1 分钟
4.2k
仔细看看这些元素,他们都有一个共同特点,那就是都会产生BFC,所以我大胆的猜想了一下,所有能产生BFC的元素都具有包裹性,下面就一个个验证。
QQ空间自动点赞脚本
尹光耀
2017-02-09
阅读 1 分钟
3.4k
因为DOM的NodeList虽然可以通过[0]的形式来获取对应节点,但是依然是类数组,所以用call方法使其可以使用map方法来遍历。我观察了QQ空间的点赞按钮,点赞后data-clicklog会改变为cancellike,所以根据这个判断自己是否有点过赞,然后用click()方法模拟点赞。
前端学习资源整理
尹光耀
2017-01-01
阅读 1 分钟
9.7k
稍微整理了一下自己平时看到的前端学习资源,分享给大家。 html MDN:Mozilla开发者网络 SEO:前端开发中的SEO css 张鑫旭:张鑫旭的博客 css精灵图:css精灵图实践 栅格系统:详解CSS中的栅格系统 媒体查询:css媒体查询用法 rem布局:手机端页面自适应布局 移动前端开发之viewport的深入理解:深入理解viewport 淘宝前...
为什么html里面的onclick函数后面要加(),而js里面不需要?
尹光耀
2016-12-29
阅读 1 分钟
4.5k
原文链接:[链接] {代码...} {代码...} {代码...}
javascript入门教程(三):基本数据类型
尹光耀
2016-10-06
阅读 2 分钟
2k
ECMAScript中有五种简单数据类型,分别是Undefined,Null,String,Number,Boolean,还有一种复杂数据类型:Object。
javascript入门教程(二):变量
尹光耀
2016-09-07
阅读 1 分钟
1.8k
因为a提升到顶部后未被赋值,所以最后会输出undefined,而且亲测严格模式下变量提升不会受到影响。(提升:在js中多次声明一个变量,只有最后一次声明有效)
javascript入门教程(一):基本概念
尹光耀
2016-09-06
阅读 2 分钟
2k
javascript诞生于1995年,主要是用来表单的验证,虽然名字里面有java,但是和java毫无关系,甚至语法差别很大,据说是作者仅用了十天设计出来的,因为java当时很火,所以为了搭顺风车,作者将其命名为"javascript",匆忙的设计也导致了这门语言有很多缺陷,曾经被滥用在弹窗上,导致了很多人的误解,所以js很长一段时间...
JS中只有按值传递
尹光耀
2016-09-03
阅读 1 分钟
1.8k
之前看《javascript高级程序设计》时就遇到过一个问题,就是函数传参的问题,书上说是按值传递,而非按引用传递。很多人都会认为js里面有两种传值方式,一种是复制,另一种是数组、对象等按引用传递,后来看到知乎上面一道题后才发现不是那么简单。我个人理解就是,js中全部是按值传递。
JS排序算法
尹光耀
2016-08-30
阅读 2 分钟
3.5k
1、冒泡排序 {代码...} {代码...} 冒泡排序 2、选择排序 {代码...} {代码...} 选择排序 3、插入排序 {代码...} {代码...} 插入排序 4、归并排序 {代码...} {代码...} 归并排序 5、快速排序 {代码...} 代码演示:快速排序
一道闭包题引发的思考
尹光耀
2016-08-18
阅读 1 分钟
1.7k
《javascript高级程序设计》里面有这么一段话:“在js里面当执行流进入一个函数的时候,函数的环境会被推入到一个环境栈里面,函数执行结束后又会将环境弹出。”
css中的那些布局
尹光耀
2016-07-17
阅读 2 分钟
5.2k
两列自适应布局算是css布局里面最基础的一种布局了,不少网站在使用。 这种布局通常是左侧固定,右边自适应,当然也有反过来的,道理一样,这里有好几种方法。