
前端 JS 经典
前端 js 常用知识点总结
yqcoder
知行合一
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Content-Type 详解
Content-Type` 是 HTTP 协议中的一个重要头部字段,用于指示资源的媒体类型(MIME 类型)。原创 2024-10-14 09:26:09 · 1849 阅读 · 0 评论 -
JSON 详解
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。原创 2024-10-14 09:24:19 · 814 阅读 · 0 评论 -
Ts 工具类型汇总
作用:根据现有类型创建一个新的类型,去除不需要的特定属性。现在我们想要一个新的类型,它与 `Person` 类型相同,但不包含 `address` 属性。可以使用 `Omit` 来实现。原创 2024-10-10 00:23:47 · 438 阅读 · 0 评论 -
原生 JS 从父元素清除所有子元素
二、使用`innerHTML`设置为空字符串1. 将父元素的`innerHTML`属性设置为空字符串,这会清除所有子元素的 HTML 内容。三、使用`empty`方法1. 如果在项目中有自定义的工具函数,可以创建一个`empty`方法来清空父元素。原创 2024-10-09 14:05:46 · 748 阅读 · 0 评论 -
vite 构建运行自定义脚本
使用 Vite 的插件系统。原创 2024-10-02 00:06:06 · 627 阅读 · 0 评论 -
JSON.stringify 参数
JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。原创 2024-10-01 22:37:16 · 912 阅读 · 0 评论 -
监听滚动条距离
返回文档在垂直方向已滚动的像素值。返回文档在水平方向已滚动的像素值。原创 2024-09-30 14:33:03 · 652 阅读 · 0 评论 -
前端 JS 经典:防抖和节流函数
防抖函数(Debounce Function)用于处理频繁触发的事件,确保在事件触发后的一段特定时间内,如果再次触发则重新计时,只有在这段时间内没有再次触发时,才真正执行相应的函数。原创 2024-08-12 00:48:20 · 400 阅读 · 0 评论 -
前端 JS 经典:跨域的解决方案
浏览器为确保资源的安全,而遵循的一种策略。原创 2024-07-16 00:30:57 · 2148 阅读 · 0 评论 -
前端 JS 经典:二维数组转一维数组去重
将数组[[1, 2], [2, 3], [1, 4]] 转为一维数组,且去重。原创 2024-07-14 07:51:54 · 460 阅读 · 0 评论 -
前端 JS 经典:小数运算不精确
计算机对小数的存储是二进制的,有限位数的二进制做算法得到的是有限位数,无限位数的二进制做运算,得到的是无限位数。如下:0.5 和 0.25 转二进制是有限位数,0.3 和 0.2 转二进制是无限位数。转字符串,然后不同位置做算法。原创 2024-07-13 00:18:47 · 355 阅读 · 0 评论 -
前端 JS 经典:生成器
yield 关键字可以使生成器函数在执行过程中暂停。在遇到 yield 关键字之前,函数会正常执行,遇到时执行会暂停,函数的作用域状态会被保留下来,直到再次调用 next 方法恢复执行。生成器函数还支持 yield* 表达式,它用于委托(yield delegation),可以将一个生成器的执行委托给另一个生成器,或者用于实现递归操作等。是一种特殊的函数,它可以用来控制迭代器(iterator)的执行,能够暂停和恢复代码的执行。| 生成器函数的使用与普通函数类似,但是调用生成器函数会产生一个迭代器。原创 2024-07-12 00:14:35 · 387 阅读 · 0 评论 -
前端 JS 经典:迭代器
如果在最后一个值返回后再调用 next()方法,那么返回的对象中属性 done 的值为 true,属性 value 则包含迭代器最终返回的值(如果没有相关数据则返回 undefined)。可迭代对象具有 Symbol.iterator 属性,通过指定的函数可以返回一个作用于附属对象的迭代器。JavaScript 中有一些内置的可迭代对象,如数组、字符串、集合(Set)、映射(Map)等,它们都具有默认的迭代器。在 JavaScript 中,迭代器是一个对象,它定义了一个序列,并在终止时可能返回一个返回值。原创 2024-07-12 00:12:30 · 384 阅读 · 0 评论 -
前端 JS 经典:字符串比较
定义一个辅助函数 walk,这是一个生成器函数,返回一个迭代器对象。每一次迭代取出字符串的一位。定义一个 compare 比较函数,将两个字符串参数转换成迭代器对象。然后循环判断每一项大小。比较两个字符串大小,两个字符串都是用-连接的数字,比如 1-2-33-55。比较方式是从左到右,依次比较每个数字的大小,遇到相等的数字继续往后比较,遇到不同的数字直接得到结果。原创 2024-07-11 00:11:07 · 512 阅读 · 0 评论 -
前端 JS 经典:虚拟列表原理及实现
虚拟列表是一种用于优化大量列表数据展示的技术,其主要原理是通过只渲染当前视口可见区域的列表项,来提高性能和减少内存占用。原创 2024-07-08 08:49:56 · 696 阅读 · 0 评论 -
前端 JS 经典:监听元素重叠
上拉触底加载更多,以前我们是监听滚动条距离,来判断是否触底。缺点是触发频繁,就算使用防抖,也会有加载延迟的缺点。构造函数,去监听元素和其他元素是否重叠,来实现上拉触底加载更多功能。,为 0 表示边相交,就相交。为 1 表示,完全包裹才算相交。我们通过监听加载更多 icon 与视口是否重叠来实现效果。,为 null 时代表视口。,当发生相交时触发。原创 2024-07-05 00:08:35 · 591 阅读 · 0 评论 -
前端 JS 经典:箭头函数的意义
使用箭头函数后,不能再通过 new 来调用这个函数。所以跟面向对象有关的东西,箭头函数都没有。比如 new、this 指向、原型。所以箭头函数不能使用 new,并且没有 this 和原型。就是调用函数,相当于将函数内部的代码再从头执行一次。ES6 为了消除二义性,可以使用类,箭头函数。使用类后,不能在通过 类() 来调用。通过 new 函数 来创建实例。原创 2024-06-28 10:54:21 · 632 阅读 · 0 评论 -
前端 JS 经典:变量交换
let a = 5;let b = 6;b = a;a = temp;// 6 5。原创 2024-06-27 00:06:13 · 1286 阅读 · 0 评论 -
前端 JS 经典:函数签名
如下,我们知道这是一个判断属性是否对象的函数,只需要传入一个参数,返回 boolean,它内部怎么实现的,我们不用管。这些备注,我们可以称之为函数签名。就确定了,它内部怎么实现的,我们完全不用管。当我们明确了这 3 样东西,那么这个函数的。原创 2024-06-27 00:05:05 · 538 阅读 · 0 评论 -
前端 JS 经典:属性读取方式
属性读取可以使用 obj.xxx 或 obj[xxx]。这两者有什么区别吗。原创 2024-06-22 01:16:55 · 377 阅读 · 0 评论 -
前端 JS 经典:数字变化动画
给你一个数字,当这个数字变化时,有一个动画的过渡效果。原创 2024-06-20 00:08:44 · 1500 阅读 · 0 评论 -
前端 JS 经典:访问器成员
它可以使对象里的函数,变成一个访问器的成员。这样做的意义是语义化。比如:有一个商品的对象,里面有单价和数量,和一个计算总价的函数。当我们不使用 get 定义这个函数时,在实例中,就需要用调用函数的方式获得总价。但是总价是一个数字,我们希望用属性的方式获取,就可以使用 get。前言:在 ES6 中的 class 对象里,有一个。原创 2024-06-19 00:18:00 · 273 阅读 · 0 评论 -
前端 JS 经典:通用性函数封装思路
设计通用性函数,我们需要考虑两个方面,一个是函数传参的可能性,如果可能性很多,我们可以将处理参数的方法。原创 2024-06-19 00:06:28 · 474 阅读 · 0 评论 -
前端 JS 经典:实例成员和静态成员
对象中,在前面加入 static 就变成了静态成员,从两个方面说明,一个语义层面,一个内存层面。原创 2024-06-18 00:09:36 · 297 阅读 · 0 评论 -
前端 JS 经典:封装全屏功能
前言:创建一个 fullScreen.js 文件,里面有进入全屏方法、退出全屏方法、判断全屏元素方法、是否全屏方法、全屏切换方法等,且做兼容性判断。原创 2024-06-16 00:04:49 · 301 阅读 · 0 评论 -
前端 JS 经典:Vue 状态仓库持久化
当我们刷新页面的时侯,在状态仓库的数据会被重置,当我们不希望这些数据被重置时,可以通过给状态管理的插件添加插件方法实现。Vue 的状态管理有 Vuex 和 Pinia。下面分别是两种状态库的数据持久化的实现。原创 2024-06-15 00:16:27 · 263 阅读 · 0 评论 -
前端 JS 经典:Vite 分包配置
前言:在 Vite 项目中使用 npm run build 直接打包,打包后所有的静态文件都在 assets 文件中,js、css、图片等都放在一起看着很不舒服。我们可以通过配置 vite.config.js 来进行分包处理。打包机制底层是使用的 roolup,可以参考。vite.config.js 分包配置如下,备注写明字段用途,其中。是 rollup 中的展位符。原创 2024-06-15 00:14:29 · 705 阅读 · 0 评论 -
前端 JS 经典:package.json 属性详解
package.json 里的字段大致分两部分,一部分标准字段,一部分非标字段。标准字段就是官方定义好的字段,非标字段包括作者自定义字段。原创 2024-06-14 01:05:17 · 787 阅读 · 0 评论 -
前端 JS 经典:node 的模块查找策略
我们引入模块后,node 大概的查找步骤分为。原创 2024-06-13 00:17:58 · 392 阅读 · 0 评论 -
前端 JS 经典:统一 Vite 中图片转换逻辑
这个变化有啥问题呢,没啥问题,这是 Vite 做的优化,当它觉得一个图片尺寸很小的时候,没有必要进行网络请求了,直接整一个 dataurl 出来。在 Vue + Vite 项目中有这样一段代码如下,引入了两个图片,一大一小。在生产环境再看,先打包 npm run build,然后本地预览 npm run preview。这样在开发环境下,图片如果小于临界值,就会转化为 base64。但是这样是不合理的,因为优化没了。换一种方法,以生产环境为主,通过。现在有个需求,是需要在开发环境下和生产环境下,使它们的。原创 2024-06-13 00:14:10 · 870 阅读 · 0 评论 -
前端 JS 经典:最近距离排序
提供一个小明对象 xm,里面有 name 名字,home 距离和一个数组 schoolArr,里面有很多结构和小明一样的人物对象,对这个数组进行排序,找到每个人距离小明的距离,把距离短的放前面。计算每个人到小明的距离,使用数组方法 sort,根据距离排序。原创 2024-06-12 10:13:32 · 291 阅读 · 1 评论 -
前端 JS 经典:Vite 打包优化
我们知道 Vite 背后是两个东西在起作用,一个 Esbuild 主要影响开发环境, 一个 rollup 主要影响打包结果,所以我们应该修改 rollup,rollup 里面有个配置 manualChunks,可以自定义将模块打包进同一个 js。但这是不合理的,有些时候我们只改了自己的组件,然后打包,这时候我们只需要更改我们自己源码的那部分文件就行了,这样可以让浏览器快速下载到变更文件,让页面快速更新。原创 2024-06-12 10:03:18 · 725 阅读 · 0 评论 -
前端 JS 经典:动态执行 JS
怎么将字符串当代码执行。有 4 中方式实现 eval、setTimeout、创建 script 标签、new Function。原创 2024-06-11 00:11:51 · 590 阅读 · 1 评论 -
前端 JS 经典:数组新增 API
用法和 sort 一样,但是不改变原数组。原创 2024-06-11 00:02:15 · 335 阅读 · 0 评论 -
前端 JS 经典:Promise 详解
在以前我们实现异步是用的回调函数,当一个异步请求需要依赖上一个异步请求返回的结果的时候,就会形成如下这种的调用结构。这种结构看着很杂乱且不易维护,被我们亲切的叫做。为了解决回调地狱的问题,Promise 就诞生了。。原创 2024-06-10 15:10:52 · 9266 阅读 · 3 评论 -
前端 JS 经典:打印对象的 bug
相信这个 console 打印语句的 bug,其实小伙伴们是遇到过的,就是你有一个对象,通过 console,打印一次,然后经过一些处理,再通过 console 打印,发现两次打印的结果是一样的,第一次打印的结果是经过改变后的结果。原创 2024-06-07 23:05:04 · 648 阅读 · 0 评论 -
前端 JS 经典:图片裁剪上传原理
图片裁剪一般都是用户选择头像得时候用到,现在很多插件都可以满足这个功能,但是我们不仅要会用插件,还要自己懂的裁剪原理。原创 2024-06-06 23:38:32 · 825 阅读 · 0 评论 -
前端 JS 经典:Reflect 本质
Reflect 可以调用对象的基本方法(内部方法),在 ES6 之前我们是没有任何方法去直接调用对象的基本方法的。只能间接调用,间接调用它又会给你做一些额外得事。原创 2024-06-06 22:44:40 · 916 阅读 · 0 评论 -
前端 JS 经典:下载的流式传输
触发下载在浏览器中有两种方式:1. 客户端的方式 2. 服务器的方式。原创 2024-06-05 22:59:25 · 1186 阅读 · 0 评论 -
前端 JS 经典:如何实现私有字段
方法有很多,但是我们需要择优选择。原创 2024-06-05 21:39:01 · 387 阅读 · 0 评论