首页
学习
活动
专区
工具
TVP
发布

Web前端开发

专栏成员
162
文章
274864
阅读量
29
订阅数
深入理解 ES6 新增的数据结构 Map 与 WeakMap
JavaScript 的对象(Object),本质上是键值对的集合(Hash结构),但传统上只能用字符串当作键,这给它带来很大的使用限制
Leophen
2022-05-07
6230
JavaScript 柯里化
柯里化即 Currying,是一门编译原理层面的技术,用途是实现多参函数,其为实现多参函数提供了一个递归降解的实现思路——把接受多个参数的函数变换成接受第一个参数的函数,并且返回接受剩余参数且返回结果的新函数。
Leophen
2021-08-12
5540
JavaScript 函数式编程
函数式编程是一种编程范式,主要是利用函数把运算过程封装起来,通过组合各种函数来计算结果。 举个例子,要把字符串 functional programming is great 变成每个单词首字母大写,可以这样实现:
Leophen
2021-08-06
3650
JS 设计模式之原型模式(创建型)
原型模式不仅是一种设计模式,它还是一种编程范式(programming paradigm),是 JavaScript 面向对象系统实现的根基。
Leophen
2021-08-06
5720
深入学习 Redux 之中间件与异步操作
上一节,学习了 Redux 的基本用法:用户发出 Action,Reducer 函数算出新的 State,View 重新渲染。
Leophen
2021-07-23
1.1K0
tsconfig.json 编译器配置大全
一般来说,项目的 TS 编译器配置全部存储在项目根目录下的 tsconfig.json 文件中
Leophen
2021-07-08
1.2K0
深入理解 ES6 Generator
而使用 ES6 Generator 可以将执行的循环停下,步骤如下: 1、在 loop 前面加一个星号 2、在输出前面加 yield 3、定义一个变量将 loop 赋值给 l
Leophen
2021-06-22
2870
JS 反射机制及 Reflect 详解
反射机制是在编译阶段不知道是哪个类被加载,而是在运行的时候才加载、执行。 也就是说,反射机制指的是程序在运行时能够获取自身的信息。 js 中的 apply 就是反射机制。
Leophen
2021-06-10
2.6K0
JS 设计模式之工厂模式(创建型)
有一天我写了个员工信息录入系统,起初这个系统开发阶段用户只有我,想怎么玩怎么玩。 于是在创建我这个唯一的用户的时候,可以这么写:
Leophen
2021-06-10
5830
Vue3 使用 svg-sprite-loader 实现 svg 图标按需加载
前面文章有讲到 svg 图标按需加载的优势以及 Vue 如何使用 vue-svg-icon 实现 svg 图标按需载入 今天来学习一下使用 svg-sprite-loader 在 Vue3 项目中实现图标按需加载
Leophen
2020-12-22
7.4K1
JavaScript 实现简易的图片上传按钮
<input type="file" name="upload" @change="fileChange" > const picture = ref({} as unknown); const fileChange = (event: Event) => { const files = (event.target as HTMLInputElement).files; // DOM.files if (files) (picture.value as HTMLFrameElem
Leophen
2020-12-22
1.2K0
Vue.js 源码⽬录设计
包括把模板解析成 ast 语法树,ast 语法树优化,代码生成等功能 编译的工作可以在构建时做(借助 webpack、vue-loader 等辅助插件);也可以在运行时做,使用包含构建功能的 Vue.js。显然,编译是一项耗性能的工作,所以更推荐前者——离线编译
Leophen
2020-10-10
1.3K0
认识 JS 静态类型检查工具 Flow
Flow 是 facebook 出品的 JavaScript 静态类型检查工具 Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码
Leophen
2020-10-09
2.2K0
Koa 工程创建与运行
其中,参数 ctx 是由 koa 传入的封装了 request 和 response 的变量,我们可以通过它访问 request 和 response,next 是 koa 传入的将要处理的下一个异步函数。
Leophen
2020-04-22
3130
ES8 Async 和 Await
Async 和 Awaiit 是 Promise 的扩展,我们知道 JavaScript 是单线程的,使用 Promise 之后可以使异步操作的书写更简洁,而 Async 使 Promise 像同步操作
Leophen
2020-04-22
4350
Koa 中间件的原理及其应用
koa 把很多 async 函数组成一个处理链,每个 async 函数都可以做一些自己的事情,然后用 await next() 来调用下一个 async 函数。我们把每个 async 函数称为 middleware,这些 middleware 可以组合起来,完成很多有用的功能。koa 的中间件是通过 Async/Await 实现的,中间件执行顺序是“洋葱圈”模型,如图:
Leophen
2020-04-22
1K0
Koa Cookie 的设置与获取
刷新 http://localhost:3000/json 自动获取 Cookie:
Leophen
2020-04-22
4.6K0
关于 Webpack
本质上,Webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。当 Webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图会映射项目所需的每个模块,并生成一个或多个 bundle
Leophen
2020-04-21
4800
Babel 及其工作原理
Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其它环境中。
Leophen
2020-04-21
6450
Web前端性能优化-资源合并与压缩
一、HTML 压缩 1、利用在线网站进行压缩(https://tool.oschina.net/) 2、nodejs 提供了 html-minifier 工具 3、后端模板引擎渲染压缩 二、CSS 压缩 1、利用在线网站进行压缩 2、使用 html-minifier 对 html 中的 css 进行压缩 3、使用 clean-css 对 css 进行压缩 三、JS 压缩与混乱 1、无效字符的删除 2、剔除注释 3、代码语义的缩减和优化 4、代码保护 四、文件合并 (将 a.js、b.js、c.js 合并成一
Leophen
2020-04-17
8120
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档