前端旧约

今天做别人不愿意做的事, 明天做别人不能做的事

[置顶] 前端每日知识点分享(总结版)

摘要: 这里是前端每日知识点分享的汇总版,首发于 b 站动态,欢迎加入 b 站 前端小学生自习室 一起学习。 前端每日知识点分享(总结版) 2020年4月20日(typeof能判断出哪些数据类型?) typeof能判断出哪些数据类型? typeof能直接判断出 Number,String,Boolean,u 阅读全文

posted @ 2020-05-04 08:16 前端旧约 阅读(3703) 评论(2) 推荐(2) 编辑

[置顶] 浅析 CSS 中的边距重叠

摘要: 边距重叠是什么 在说边距重叠之前,先以正常的思维来考虑如果你现在是浏览器引擎遇到这种情况应该怎么办? 现在有两个元素 div1 和 div2 上下紧挨着,中间没有其它元素,它们的外边距就会发生重叠。div1 在上,div2 在下,div1 的 margin-bottom 为 20px, div2 的 阅读全文

posted @ 2020-04-23 23:43 前端旧约 阅读(1605) 评论(2) 推荐(0) 编辑

[置顶] CSS 中你应该了解的 BFC

摘要: 我们常说的文档流其实分为定位流、浮动流和普通流三种。而普通流其实就是指BFC中的FC。FC是formatting context的首字母缩写,直译过来是格式化上下文,它是页面中的一块渲染区域,有一套渲染规则,决定了其子元素如何布局,以及和其他元素之间的关系和作用。常见的FC有BFC、IFC,还有GF 阅读全文

posted @ 2020-04-21 18:50 前端旧约 阅读(766) 评论(4) 推荐(1) 编辑

[置顶] 简单聊一聊JS中的循环引用及问题

摘要: 本文主要从 JS 中为什么会出现循环引用,垃圾回收策略中引用计数为什么有很大的问题,以及循环引用时的对象在使用 JSON.stringify 时为什么会报错,怎样解决这个问题简单谈谈自己的一些理解。 1. 什么是循环引用 当对象 1 中的某个属性指向对象 2,对象 2 中的某个属性指向对象 1 就会 阅读全文

posted @ 2020-01-09 21:04 前端旧约 阅读(15278) 评论(3) 推荐(2) 编辑

[置顶] 图文结合深入理解 JS 中的 this 值

摘要: 图文结合深入理解 JS 中的 this 值 在 中最常见的莫过于函数了,在函数(方法)中 的出现频率特别高,那么 到底是什么呢,今天就和大家一起学习总结一下 中的 。 1. 初探this 在 中是一个关键字,不是变量也不是属性名, 中不允许给this赋值。 它是函数运行时,在函数体内部自动生成的一个 阅读全文

posted @ 2019-12-22 21:12 前端旧约 阅读(588) 评论(0) 推荐(2) 编辑

2023年12月7日

React 中虚拟DOM是什么,为什么需要它?

摘要: 注意:本节主要讲React中的虚拟DOM,但是虚拟DOM并不是React中特有的内容。 1. React 中虚拟 DOM是什么? 虚拟DOM是对真实DOM的描述,虚拟DOM是JS对象,实际上就是 JSX 通过 babel 转换成 React.createElement(),然后这个函数执行后变成的 阅读全文

posted @ 2023-12-07 11:36 前端旧约 阅读(83) 评论(0) 推荐(0) 编辑

2023年12月5日

JSX 代码是如何“摇身一变”成为 DOM 的?

摘要: JSX 是一种语法,并不是 React 中的内容,时下接入 JSX 语法的框架越来越多,但与之缘分最深的仍然是 React。本节来讲一下 React 是如何摇身一变成为 DOM 的。 我们平时在写React时会用 JSX 来描述组件的内容,例如下面的代码中,render 方法 return 的内容就 阅读全文

posted @ 2023-12-05 11:01 前端旧约 阅读(275) 评论(2) 推荐(4) 编辑

2022年11月2日

CSS 动画一站式指南

摘要: CSS 动画一站式指南 1. CSS 动画 在 CSS3 出现之前,简单的交互都需要使用 JS 才能完成,如今 CSS3 增加了 transform ,transition , animation 三大交互属性,为 CSS 的单调性增加了很多趣味,CSS 也可以实现比较复杂的动画了。 1.1 变换 阅读全文

posted @ 2022-11-02 09:56 前端旧约 阅读(369) 评论(2) 推荐(1) 编辑

2022年10月25日

JS 中为什么要有 Iterator,JS 中数组,对象,Map,Set遍历的推荐方法

摘要: JavaScript 原有的表示 “集合 ”的数据结构主要是数组( Array )和对象( Object), ES6 又添加了 Map 和 Set。 这样就有了 4 种数据集合,用户还可以组合使用它们,定义自己的数据结 构,比如数组的成员是 Map, Map 的成员是对象 。 这样就需要一种统一 的 阅读全文

posted @ 2022-10-25 11:42 前端旧约 阅读(402) 评论(0) 推荐(0) 编辑

2022年1月8日

接口调试没有登录态?用whistle帮你解决

摘要: 在这里简单介绍一种利用 whistle 模拟登录态的方法,仅供参考。 页面的域名是 a.com,接口的域名为 b.com,这是跨域的因此不会将 cookie 带过去的,也就没有登录态。 解决方法:利用 whistle 的 composer 功能。 whistle github 地址 说白了没有登录态 阅读全文

posted @ 2022-01-08 11:48 前端旧约 阅读(802) 评论(0) 推荐(0) 编辑

2021年12月29日

如何理解 TS 类型编程中的 extends 和 infer

摘要: extends extends 在TS类型编程中用法(T extends U),表示 T 中的某些在 U 里面,比较难描述,用法如下: T extends U ? X : Y 分为两种情况理解更直观一些: 1)如果 T 不是一个联合类型,表示如果 T 是 U 的子集,那么返回 X 否则返回 Y。 举 阅读全文

posted @ 2021-12-29 16:55 前端旧约 阅读(2571) 评论(0) 推荐(1) 编辑

2021年12月26日

TS 中 never 类型的妙用

摘要: 问题: 对于一个接口,如何定义某个属性为number,其它不确定的属性都为string。 在解决这个问题时,never 类型就可以派上大用场。 看到这里,可能你二话不说,上来就要这些写: interface IType { age: number; [key: string]: string; } 阅读全文

posted @ 2021-12-26 17:06 前端旧约 阅读(5415) 评论(0) 推荐(0) 编辑

聊一下 TS 中的交叉类型

摘要: 交叉类型不能完全按照传统编程中的 与 来理解。 交叉类型的定义:将多个类型合并为一个类型,包含了所有类型的特性,而且要同时满足要交叉的所有类型。 后半段话不是很好理解,看一下接口类型和联合类型的交叉类型就好理解了。 接口类型的交叉类型 interface Interface1 { id: numbe 阅读全文

posted @ 2021-12-26 14:59 前端旧约 阅读(1369) 评论(0) 推荐(0) 编辑

2020年12月10日

protobuf 协议浅析

摘要: Protobuf 协议浅析 导语:本文首先介绍了 protobuf 的基本概念和语法,然后重点介绍了 protobuf 编解码的原理,最后结合前面的知识给出了 protobuf 的一些使用建议并利用思维导图对这篇文章的内容做了总结。 1. Protobuf 介绍 1.1 Protobuf 基本概念 阅读全文

posted @ 2020-12-10 22:50 前端旧约 阅读(3695) 评论(0) 推荐(0) 编辑

2020年5月17日

浅析常见的 Web 安全预防

摘要: 1. CSRF 跨站请求伪造,英文名: CSRF 攻击流程 结合下面这张图说明 CSRF 的攻击流程。 李四在网站 A 注册了用户名,并且登录到了网站 A,在登录之后网站 A,就会给用户李四的浏览器下发一个 cookie,李四在访问网站 A 的时候,就会将本地的 cookie 上传到网站 A,如果有 阅读全文

posted @ 2020-05-17 15:14 前端旧约 阅读(348) 评论(0) 推荐(0) 编辑

2020年5月7日

cookie 和 session 的区别

摘要: 以我自己做的个人博客来说明两者的区别,由于 HTTP 协议是无状态的协议(也就是服务端不能仅仅通过 http 请求本身来判断是哪一个用户),所以就需要一种机制来判断当前是哪一个用户登录了博客。 我在博客项目中是这样实现的: 在用户第一次请求我的网站的时候,我会在响应头中通过设置 给客户端的 cook 阅读全文

posted @ 2020-05-07 20:24 前端旧约 阅读(311) 评论(0) 推荐(0) 编辑

2020年5月2日

判断两个对象的内容是否相等

摘要: 由于在做 "键盘导航组件" 的项目时,有这样一个需求,当用户传入按键字母和网址的映射时,如果和 localStorage 中的不一样那么就用 localStorage 中存储的,这个时候就需要比较两个对象的内容是否相等,但是在 JS 中对象是一种引用类型. 即使两个对象的内容完全相同,因为它们的地址 阅读全文

posted @ 2020-05-02 23:05 前端旧约 阅读(5332) 评论(0) 推荐(0) 编辑

再谈闭包

摘要: 闭包的定义 在 "简单理解JS中的闭包" 通过阮一峰老师关于闭包的文章写过一次对闭包的理解,这篇文章比较简洁地再谈一次闭包。 闭包指的是能够访问另一个函数作用域中变量的函数。 闭包的作用 1)闭包使得我们可以在函数的外部访问函数内部的变量 如上面的代码所示,在函数外部我们本来是不能访问 fn1 内部 阅读全文

posted @ 2020-05-02 15:56 前端旧约 阅读(605) 评论(2) 推荐(0) 编辑

2020年5月1日

浅析 JS 中的作用域链

摘要: 作用域链的形成 在 JS 中每个函数都有自己的执行环境,而每个执行环境都有一个与之对应的变量对象。例如: 你就可以将 fn 当做函数 fn 执行环境对应的一个变量对象,这个变量对象我们通过代码是无法访问到的,但是 JS 引擎在解析代码时会用到它。 思考为什么上面函数中的 fn 运行后输出 1,可能大 阅读全文

posted @ 2020-05-01 22:41 前端旧约 阅读(357) 评论(0) 推荐(0) 编辑

导航