随笔分类 -  js

about js
摘要:前言: 这次本来想解析 react-virtualized 的源码, 但是他的内容太多, 太杂, 我们先从小的库入手, 由点及面 所以这次改为了 react-virtual 和 react-window 的源码, 这篇就是 react-virtual 什么是虚拟列表 一个虚拟列表是指当我们有成千上万 阅读全文
posted @ 2022-02-09 00:04 Grewer 阅读(525) 评论(0) 推荐(0)
摘要:这次的版本是 6.2.1 使用 相比较 5.x 版本, 元素升级为了 简单的 v6 例子: function App(){ return <BrowserRouter> <Routes> <Route path="/about" element={<About/>}/> <Route path="/ 阅读全文
posted @ 2022-01-31 23:09 Grewer 阅读(560) 评论(5) 推荐(1)
摘要:这次的版本是 6.0.2 这里只讲 react-router-dom 提供的 API, 像是 Routes, Router 这些都是 react-router 提供的 ##源码阅读 BrowserRouter, HashRouter BrowserRouter 和 hashRouter 的主要区别就 阅读全文
posted @ 2021-12-23 23:29 Grewer 阅读(335) 评论(0) 推荐(0)
摘要:ArrayBuffer 是什么 ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区。 它是一个字节数组,通常在其他语言中称为“byte array”。 你不能直接操作 ArrayBuffer 的内容,而是要通过类型数组对象或 DataView 对象来操作,它们会将缓冲区中的数 阅读全文
posted @ 2021-11-29 23:57 Grewer 阅读(2526) 评论(0) 推荐(0)
摘要:react-loadable 源码解析 简要的来说, loadable 是一个高阶函数, 他同时利用了 react 的渲染 API, webpack 知识点, babel, promise 合并起来的组件 使用 首先我们要知道 react-loadable 他的用法是什么: loader 需要延迟加 阅读全文
posted @ 2021-10-31 23:42 Grewer 阅读(316) 评论(0) 推荐(0)
摘要:标准 JSON 格式 js 中的 JSON JavaScript Object Notation (JSON) 是一种数据交换格式。尽管不是严格意义上的子集,JSON 非常接近 JavaScript 语法的子集。 js 转换 JSON json 更接近是 js 支持的原生语法, 所以他也内置了解析 阅读全文
posted @ 2021-09-26 01:31 Grewer 阅读(101) 评论(0) 推荐(0)
摘要:起因 在多人合作项目中, eslint 和 prettier 是不必能缺少的, 他能帮助你,统一规范某一事物, 某一个方法的使用 但是有时候也并不尽如人意, 有些规范官方包没提供, 但是我们也需要进行一定的规范, 这个时候靠人工 code review 是不可靠的了 所以我们需要的是自定义 esli 阅读全文
posted @ 2021-06-19 16:38 Grewer 阅读(659) 评论(0) 推荐(0)
摘要:什么是二叉查找树 二叉查找树(英语:Binary Search Tree),也称为二叉查找树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree) 他拥有以下性质: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的 阅读全文
posted @ 2021-06-17 09:58 Grewer 阅读(220) 评论(0) 推荐(0)
摘要:对称二叉树 创建一个函数,用来判断一颗二叉树是不是对称的 如图, 这就是对称的二叉树 注意下图, 不是对称二叉树 思路: 从根节点开始, 他的左子树和右子树节点比较, 然后依次递归下去, 只要有一个不同就返回 false const isSymmetric = function (root) { i 阅读全文
posted @ 2021-06-17 09:56 Grewer 阅读(72) 评论(0) 推荐(0)
摘要:什么是二叉树 在计算机科学中,二叉树(英语:Binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒。 二叉树的第i层至多有2^个结点; 深度为k的二叉树至多有2k-1个结点; 对任何一棵二 阅读全文
posted @ 2021-06-17 09:54 Grewer 阅读(233) 评论(0) 推荐(0)
摘要:redux 源码浅析 redux 版本号: "redux": "4.0.5" redux 作为一个十分常用的状态容器库, 大家都应该见识过, 他很小巧, 只有 2kb, 但是珍贵的是他的 reducer 和 dispatch 这种思想方式 在阅读此文之前, 先了解/使用 redux 相关知识点, 才 阅读全文
posted @ 2021-05-31 23:54 Grewer 阅读(321) 评论(0) 推荐(0)
摘要:react-redux 版本号 7.2.3 react-redux 依赖的库: "dependencies": { "@babel/runtime": "^7.12.1", "@types/react-redux": "^7.1.16", "hoist-non-react-statics": "^3 阅读全文
posted @ 2021-05-18 00:42 Grewer 阅读(317) 评论(0) 推荐(0)
摘要:起因 说起来这个东西, 出来至少 2 年了, 但是因为最近两年我基本没做过 web 端的东西, 所以也没怎么了解过, 趁着这次放假, 补充一下知识点 先来看看 MDN 中对于他的描述: Web Components旨在解决这些问题 — 它由三项主要技术组成,它们可以一起使用来创建封装功能的定制元素, 阅读全文
posted @ 2021-05-06 00:21 Grewer 阅读(1560) 评论(0) 推荐(0)
摘要:当我们在项目中引入公共 cdn 时,想要考虑一些东西,现在我把他描写一下 公共 cdn 的选择 这里只讨论免费的 cdn BootCDN https://www.bootcdn.cn/ 库同步于 cdnjs 支持海外节点,但是较慢 http/2 国内大部分地区都可访问(部分地区可能缓慢) 又拍云 h 阅读全文
posted @ 2021-01-26 18:20 Grewer 阅读(976) 评论(0) 推荐(0)
摘要:什么是 babel Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。 什么是抽象语法树(AST) 在计算机科学中,抽象语法树(Abstract Syntax Tree,AS 阅读全文
posted @ 2020-12-19 18:18 Grewer 阅读(496) 评论(0) 推荐(0)
摘要:本文翻译来自谷歌翻译 在我开始尝试学习计算机科学的旅程之前,有一些术语和短语使我想朝另一个方向发展。 但是我没有奔波,而是装作知识,在交谈中点点头,假装我知道有人在指什么,尽管事实是我不知道并且实际上在我听到《 Super Scary Computer Science Term™》时就完全停止了收听 阅读全文
posted @ 2020-12-17 15:34 Grewer 阅读(303) 评论(0) 推荐(0)
摘要:js 中的 EventLoop 起始 EventLoop 是什么 JavaScript有一个基于事件循环(EventLoop)的并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。 > 浏览器和NodeJS基于不同的技术实现了各自的Event Loop。 事件循环 之所以称之为 事 阅读全文
posted @ 2020-12-13 23:32 Grewer 阅读(390) 评论(0) 推荐(0)
摘要:关于 js 中 js 指向的问题 本文章通过代码的运行来描述 this 的具体指向: 默认绑定 场景一: console.log('普通情况', this) // window 在普通状态下, this 指向的是全局变量 window 场景二: function foo() { console.lo 阅读全文
posted @ 2020-12-06 23:53 Grewer 阅读(172) 评论(2) 推荐(0)
摘要:位置 首先我们要知道 loader 插件是写在哪里的 打开 webpack.config.js 文件, 在 module.rules 中加入我们的自定义 loader: { test: /.ts$/, use: [ { loader: path.resolve(__dirname,'./build/ 阅读全文
posted @ 2020-11-24 00:29 Grewer 阅读(142) 评论(0) 推荐(0)
摘要:方案 1 普通使用 在组件中直接创建 modal 显示: const {useState, useMemo} = React const useModal = () => { const [visible, setVisible] = useState(false) return useMemo(( 阅读全文
posted @ 2020-10-19 00:02 Grewer 阅读(869) 评论(0) 推荐(0)