全部文章
共 1299 篇文章
useEffect依赖引用类型
如果你是一个入行不久的前端开发,面试中多半会遇到一个问题: 你认为使用React要注意些什么? 这个问题意在考察你对React的使用深度,因为沉浸式地写过一个项目就会发现,不同于一些替你做决定的框架,“潜规则”丰富的React远比看上去要难相处。 React中主要有两类坑点,一种是让你措手不及,结果对不上预期,严重影响开发进度,另一种更为头痛,表面风平浪静,水下暗流涌动。 官方文档的触角只伸到Demo级别,并不涉及花样百出的最差实践,所...
Web Worker:JS多线程的伪解药💊?
前言 在前端开发领域,JavaScript 的单线程限制一直是一个难以忽视的挑战。当谈到解决JavaScript的单线程限制时,HTML5引入的Web Worker被普遍认为是一剂解药💊。同时,业界中大量的文章也是聚焦于讨论web worker的神奇力量。然而,本文将另辟蹊径,和您一同探索Web Worker神秘的另一面。 js单线程限制及多线程能力的需求 js的一大特点就是单线程。对于单线程,一句最经典的概述就是“同一时间只能执行一...
浅析 Map 和 WeakMap 区别以及使用场景
📢 愿你我一起在这肆意生活里大放光彩 📢 在阅读红宝书时遇到了 这个关键字,第一次见感觉没啥用,是我见识浅了,其实还是有点用的,有多大我不知道(快跑) 希望这一篇文章能让你对 有更好的理解,或者能够帮你理解 和 这篇文章会先从 再到 一、为什么是 Map ? 1\. 传统对象结构 本质上是一个键值对的集合。和传统对象结构相比,传统的对象只能用 字符串作为键名 ,这就在使用上造成了很大的限制了。这也是新增 的原因之一。 在上面的代码中...
Blob的几个使用场景
前言 说起 对于一部分人来说会很陌生,因为没有接触过,包括我之前也没有接触过,后来一个功能的实现才有机会接触 ,现在来学习一下 的使用场景。后面有代码仓库地址 正文 什么是Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,也可以转换成 来用于数据操作。 创建一个Blob对象 array 是一个由 , , , 等对象构成的 ,或者其他类似对象的混合体,它将会被放进 。DOMStrings 会被编...
必备八股文——HTML&CSS
src和href的区别 和 都是用来加载外部资源,区别如下 src 当浏览器解析到该元素时,会暂停其他资源的加载和处理,直到该资源加载完成。 它会将资源内容嵌入到当前标签所在的位置,将其指向的资源下载应用到文档内,如 脚本等。常用在 、 、 等标签。 href 指向外部资源所在的位置,和当前元素位置建立链接,当浏览器解识别到它指向的位置,将其下载的时候不会阻止其他资源的加载解析。常用在 、 标签。 HTML5新增特性 新增语义化标签,...
必备八股文——JavaScript
共有八种数据类型,分别是 Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt 。 其中 Symbol 和 BigInt 是ES6 中新增的数据类型: Symbol 代表创建后独一无二且不可变的数据类型,它主要是为了解决可能出现的全局变量冲突的问题。 BigInt 是一种数字类型的数据,它可以表示任意精度格式的整数,使用 BigInt 可以安全地存储和操作大整数,即使这个数已...
必备八股文——工程化 - 掘金
git clone :克隆远程仓库到本地。 git init :在当前目录初始化一个新的Git仓库。 git add :将文件添加到暂存区,准备提交。 git commit m "commit message" :提交暂存区的改动到本地仓库,附带提交信息。 git status :查看工作区、暂存区的状态,显示文件的修改情况。 git diff :显示工作区与暂存区之间的差异。 git diff staged :显示暂存区与最后一次提交...
必备八股文——浏览器
攻击指的是跨站脚本攻击,是一种 代码注入攻击 。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 等。 避免方式 不用服务器端拼接后返回(不使用服务端渲染)。 对一些敏感信息进行保护,比如 使用 ,使得脚本无法获取。 对用户输入的地方和变量都需要仔细检查长度和对 等字符做过滤 攻击的本质是利用 会在同源请求中携带发送给服务器的特点,以此来实现用户的冒充。 避免方式 添加验证码验证 使用 验证 限制 不能作为被...
必备八股文——网络
传递的参数不同, 传递的参数在 中, 传递的参数在 后拼接 请求一般用于查询, 一般用于提交某种信息进行某些修改操作 相对 请求安全 请求会被浏览器主动缓存, 不会,要手动设置 请求长度有限制, 没有 请求为更新数据 为创建数据 二进制协议 : 的解析是基于文本,而 使用二进制,将请求和响应分割为更小的帧,从而实现多路复用。 多路复用 :在一个连接里,客户端和服务器都可以同时发送多个请求或回应,而且不用按照顺序一一发送,这样避免了 队头...