摘要: ### 手写数组常见方法 ```js // 数组map Array.prototype.myMap = function (callback) { const arr = [] for (let i = 0; i { return pre.concat(Array.isArray(cur) && d 阅读全文
posted @ 2023-09-05 18:42 mingL 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 新创建了一个个人博客系统 https://xingguozm.github.io/mobile/blog 阅读全文
posted @ 2023-07-19 11:15 mingL 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 最近在看这本书,以下是做的笔记 第1章 命令式编程与声明式编程 关注结果(声明式)和关注过程(命令式) 运行时和编译时(vue、react、svelte) 坐火车时,进站检票(编译时)和上车检票(运行时) 框架性能与可维护性 第2章 框架设计的考虑因素 上手体验:足够的提示和引导 代码体积与tree 阅读全文
posted @ 2022-11-27 12:28 mingL 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 函数 手写call 手写bind 手写节流(throttle) 手写防抖(debounce) 手写柯里化(curry) 手写组合(compose) 手写实例化(new) 手写继承(extends) 手写实现一个sleep函数 对象 手写深拷贝(deepClone) 手写let 手写const 手写引 阅读全文
posted @ 2022-03-16 21:57 mingL 阅读(108) 评论(0) 推荐(0) 编辑
摘要: Javascript与CSS 原型、原型链? constructor、__proto__和prototype 实现继承的方式? 原型链能够实现所谓的继承的本质原因是什么? 说一下Javascript的执行流程? 执行上下文和执行栈? 说一下 let、const 的实现? 如何判断数据类型? ==的逻 阅读全文
posted @ 2022-03-16 21:45 mingL 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 原文地址:Webpack: The Good, The Bad and The Ugly 引言 webpack,一个简单又复杂的静态模块打包工具,打包一个网页应用只需要花费10分钟到10小时不等。 好的方面 作为一个静态模块打包器,webpack交付一份易于你的浏览器或者node环境解析的打包代码。 阅读全文
posted @ 2022-02-08 17:50 mingL 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 前言 2022年了,我居然还在阿里干外包,是什么支撑下去的,曾经打死也不做外包的小伙子,如今马上就要待满3年了。剩下的时间已经不多了,多想外包生涯停留在3年内,离开的想法越来越强烈。今天是2022.2.7正月初七,开工上班,天降大雪。 工作 2021前半年带我的正式员工走了,接下来项目组走了不少人, 阅读全文
posted @ 2022-02-07 16:56 mingL 阅读(83) 评论(1) 推荐(1) 编辑
摘要: 实现思路 transform+transition,setTimeout+递归实现偏移滚动 在线预览 react跑马灯hooks 核心代码 import { useState, useRef, useCallback } from "react"; function useMarquee({ dat 阅读全文
posted @ 2022-01-11 10:58 mingL 阅读(1414) 评论(0) 推荐(0) 编辑
摘要: 实现思路 setTimeout + 递归,然后就是一个时间的转化。 特别要注意在特定的地方清除定时器 在线预览 react倒计时hooks 核心代码 import { useRef, useState, useEffect } from "react"; const formatMoment = ( 阅读全文
posted @ 2022-01-11 10:57 mingL 阅读(1769) 评论(0) 推荐(0) 编辑
摘要: 实现思路 自定义hooks+setTimeout组合,基本实现很简单,只要理解了节流和防抖是什么就很容易实现了。防抖和节流都是对高频触发的事件来做的一种应对手段,我认为它们最本质的区别是是否需要对最终的结果负责,比如防抖的目的即是为了拿到最终的结果,所以前面不管触发多少次,我们都可以不管,只等到它不 阅读全文
posted @ 2022-01-08 12:12 mingL 阅读(1286) 评论(1) 推荐(0) 编辑
摘要: 实现思路 通过touchstart、touchmove、touchend组合,实现过程中需要注意以下几个问题 touchmove、touchend事件需要绑定在window上,并且这两个事件需要包在touchstart中 touchstart事件需要阻止冒泡和禁止默认事件,开始监听touchmove 阅读全文
posted @ 2022-01-08 12:05 mingL 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 总体优化思路 速度更快,打包速度更快、渲染速度更快 体积更小,打包体积更小、 提前,首屏提前渲染,首屏静态资源预加载、 滞后,非首屏资源按需加载 转移,静态资源转移cdn webpack应用的优化方向 开发体验上,一个是追求构建速度,另一个是响应速度 线上体验,一个是包体积大小,加载速度,首屏响应速 阅读全文
posted @ 2021-12-26 15:50 mingL 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 写在前面 前面几节大概了解了webpack的使用和执行过程,上一节我们知道了webpack的源码编译的库是acorn,那今天我们就来研究一下js编译以及抽象语法树(ast)。我们先来看一个笔试题 问题 将一个 html 字符串变成树的形式 <div id="main" data-x="hello"> 阅读全文
posted @ 2021-12-08 09:43 mingL 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 写在前面 弄清楚了tapable,我们基本上对webpack的plugin没有什么问题了,下面我们将webpack的plugin和loader组合起来看一下。我们主要从以下几个方面来深入研究。照着网上的资料写几个例子(模仿),然后大致了解loader是什么(作用),它是怎么执行的(原理)以及找一个比 阅读全文
posted @ 2021-10-19 11:16 mingL 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 前言 在讲webpack插件之前,我们要先讲一下tapable,tapable是webpack的核心库。我们都知道webpack的编译(Compiler)和构建(Compilation)是最核心的东西,它们都是tapable的子类。我们查看webpack的官方文档时会看到如下api run Asyn 阅读全文
posted @ 2021-08-26 10:37 mingL 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 起因 最近遇到系统优化的需求,webpack作为模块打包工具可以帮助我们。作为webpack的小白,该如何系统的学习呢?首先当然是学会webpack的基本使用,能做出些效果。我们先从最简单的构建目标开始,打包一个helloworld应用程序。源码地址 使用webpack构建一个helloworld程 阅读全文
posted @ 2021-07-22 09:59 mingL 阅读(204) 评论(3) 推荐(0) 编辑
摘要: 写在前面 最近一两个月在思考未来自己的职业规划,团队内小伙伴陆陆续续走的走,来的来。大家都处于职业的焦虑之中,我一直都很想进一家大厂,目前仍然没有机会,也没有能力能够进去。毕业已经3年整了,不能继续说打好基础,把所有的业余精力都放在js基础学习上。应该着眼于自己的优势和有竞争力的方面努力,这样才不容 阅读全文
posted @ 2021-06-21 19:26 mingL 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 物理像素(physical pixel)、设备独立像素(density-independent pixel)和css像素 物理像素又被称为设备像素,它是显示设备中最微小的物理部件,每个像素可以根据操作系统设置自己的颜色和亮度。 设备独立像素又被称为密度无关像素,可以认为是计算机坐标系统中的一个点,这 阅读全文
posted @ 2021-04-27 11:00 mingL 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 原文地址 这篇文章探索ES6 modules,在编译器的帮助下展示他们如何被使用到今天 几乎每种语言都有模块的概念- 一种在另一个文件中包含功能性的声明的文件。一般的,开发者创建一个封装好的表示处理相关任务的代码库。这个库可以被其他应用或者其他模块引用。 模块的益处: 代码可以被分割成更小的独立功能 阅读全文
posted @ 2021-04-18 20:55 mingL 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 最近项目中用到了http请求的并发、重试和超时,虽然现有的很多库都可以直接拿来用,但是我们今天还是手动来实现一下,看看背后的实现逻辑。以后使用到的时候可以直接改造。http请求可以使用promise模拟,代码如下: 请求并发 // http请求并发控制参考代码 function concurrent 阅读全文
posted @ 2021-04-04 15:42 mingL 阅读(741) 评论(1) 推荐(1) 编辑