Leo-JavaScript icon indicating copy to clipboard operation
Leo-JavaScript copied to clipboard

欢迎关注公众号“前端自习课”,本仓库包含丰富的前端学习资料,包括 JavaScript、前端框架、HTTP、GraphQL、TS、Vue、React、Webpack等,还有很多我的原创文章,喜欢的朋友欢迎stat。:rocket:持续更新中...

Results 26 Leo-JavaScript issues
Sort by recently updated
recently updated
newest added

> React 是一个 Facebook 开源的,用于构建用户界面的 JavaScript 库。 React 目的在于解决:构建随着时间数据不断变化的大规模应用程序。 其中 React 合成事件是较为重要的知识点,阅读完本文,你将收获: 1. 合成事件的概念和作用; 1. 合成事件与原生事件的 3 个区别; 1. 合成事件与原生事件的执行顺序; 1. 合成事件的事件池; 1. 合成事件 4 个常见问题。 接下来和我一起开始学习吧~ ## 一、概念介绍 React...

源码阅读
React
原理分析

![封面图](https://images.pingan8787.com/Vue/Reactive/cover.png) 提到“响应式”三个字,大家立刻想到啥?响应式布局?响应式编程? ![响应式关键词.png](https://images.pingan8787.com/Vue/Reactive/what-reactive.png) 从字面意思可以看出,具有“响应式”特征的事物会根据条件变化,使得目标自动作出对应变化。比如在“响应式布局”中,页面根据不同设备尺寸自动显示不同样式。 Vue.js 中的响应式也是一样,当数据发生变化后,使用到该数据的视图也会相应进行自动更新。 接下来我根据个人理解,和大家一起探索下 Vue.js 中的响应式原理,如有错误,欢迎指点😺~~ ## 一、Vue.js 响应式的使用 现在有个很简单的需求,点击页面中 “leo” 文本后,文本内容修改为“你好,前端自习课”。 我们可以直接操作 DOM,来完成这个需求: ```html leo ``` ```javascript const node = document.querySelector('#name') node.innerText = '你好,前端自习课'; ``` 实现起来比较简单,当我们需要修改的数据有很多时(比如相同数据被多处引用),这样的操作将变得复杂。...

源码阅读
Vue
原理分析

这两天用到 [cacheables](https://github.com/grischaerbe/cacheables) 缓存库,觉得挺不错的,和大家分享一下我看完源码的总结。 ## 一、介绍 「cacheables」正如它名字一样,是用来做内存缓存使用,其代码仅仅 200 行左右(不含注释),官方的介绍如下: ![cacheable介绍](http://images.pingan8787.com/blog/cacheables/learn-0.png) > 一个简单的内存缓存,支持不同的缓存策略,使用 TypeScript 编写优雅的语法。 它的特点: - 优雅的语法,包装现有 API 调用,节省 API 调用; - 完全输入的结果。不需要类型转换。 - 支持不同的缓存策略。 - 集成日志:检查 API 调用的时间。 - 使用辅助函数来构建缓存...

源码阅读

![snabbdom-cover](https://images.pingan8787.com/Vue/Snabbdom/cover.png) 近几年随着 React、Vue 等前端框架不断兴起,Virtual DOM 概念也越来越火,被用到越来越多的框架、库中。Virtual DOM 是基于真实 DOM 的一层抽象,用简单的 JS 对象描述真实 DOM。本文要介绍的 [Snabbdom](https://github.com/snabbdom/snabbdom) 就是 Virtual DOM 的一种简单实现,并且 Vue 的 Virtual DOM 也参考了 Snabbdom 实现方式。 对于想要深入学习 Vue Virtual DOM 的朋友,建议先学习...

源码阅读
原理分析

![](http://images.pingan8787.com/TinyCompiler/1585365502950-d474962e-f17c-4aec-bcf4-1252dd5f0e5d.jpeg) > 最近看到掘金、前端公众号好多 ES2020 的文章,想说一句:放开我,我还学得动! 先问大家一句,日常项目开发中你能离开 ES6 吗? # 一、前言 对于前端同学来说,编译器可能适合神奇的魔盒🎁,表面普通,但常常给我们惊喜。编译器,顾名思义,用来编译,编译什么呢?当然是编译代码咯🌹。 ![](https://st-gdx.dancf.com/gaodingx/0/design/20191125-144728-7a47.gif) 其实我们也经常接触到编译器的使用场景: - React 中 JSX 转换成 JS 代码; - 通过 Babel 将 ES6 及以上规范的代码转换成 ES5 代码; - 通过各种...

原理分析

记录一些发现到的错误,后面一起修改。 **提交模版格式:** * 错误地址或链接: 如: http://js.pingan8787.com * 错误内容: 错误内容描述,如标题错别字。 * 正确内容: 正确内容描述。 * 错误影响范围: 需要修改的范围,如:github/各个专栏/博客/Vuepress **说明:** 我会利用空余时间做修改,感谢各位指点。 当修改完成后,需要对本条记录做状态修改,添加一个如下👍的表情,表示本条备忘修改完成。

**提交格式说明:** * 日期: [ 2019.02.28 ] * 描述: 整理需要修改的描述。 **注意:** * 当修改完成后,需要对本条记录做状态修改,添加一个如下👍的表情,表示本条备忘修改完成。

我发现一些问题,标题指向的文章里有些错误,特别是scrollHeight、scrollHeight的计算方式,水平、垂直滚动条也写反了,大佬有空修下

Bumps [postcss](https://github.com/postcss/postcss) from 8.4.7 to 8.4.31. Release notes Sourced from postcss's releases. 8.4.31 Fixed \r parsing to fix CVE-2023-44270. 8.4.30 Improved source map performance (by @​romainmenke). 8.4.29 Fixed Node#source.offset (by...

dependencies

Bumps [postcss](https://github.com/postcss/postcss) from 8.4.5 to 8.4.31. Release notes Sourced from postcss's releases. 8.4.31 Fixed \r parsing to fix CVE-2023-44270. 8.4.30 Improved source map performance (by @​romainmenke). 8.4.29 Fixed Node#source.offset (by...

dependencies