![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript学习笔记
文章平均质量分 74
Javascript,从入门到入土
音仔小瓜皮
好好学习,天天向上
展开
-
JS中的File(五):node.js中的file模块使用
这里暂时仅提供一些简单的梳理和阅读小tips(偷懒一下。原创 2024-07-20 23:45:28 · 350 阅读 · 0 评论 -
【Typescript】Interface和type的区别;探讨为什么interface赋值给Record需要索引签名
因此此刻的MyInterface并不一定是最终的类型结构,后续的合并可能会存在类型不与Record一致的情况。Record限制了属性的类型和值的类型。而Interface由于可以声明合并,3、type可以被基础类型定义,而interface仅可以描述对象结构的类型。Interface基于extends继承扩展基类类型,而type利用。声明同名的类型,Interface同名会合并,而type重名会报错。1、Interface可以声明合并,type不行。一、Interface与type的区别。原创 2024-07-15 22:14:53 · 423 阅读 · 0 评论 -
【JS动画】帧的理解与requestAnimationFrame的使用
performance.now()与一些js中的time类(例如Date.now())不同的是,它不仅仅可以精确到一毫秒,而且可以以毫秒为单位作为浮点数返回,最大可精确到微秒级别。requestAnimationFrame的返回值是一个long类型的非0值,可理解为请求DI,作为回调列表中的唯一标识。此时,利用箭头函数的特性【即this指向的是函数定义时,外部最近作用域中的this对象】,才可以准确调用frame函数。值得注意的是,当在class类中定义frame函数,并用将其作为回调函数时,原创 2024-07-14 13:26:24 · 945 阅读 · 0 评论 -
canvas高清绘制与retina屏
具体而言,当dpr=1设置1px在浏览器上会显示1px;当dpr=2设置1px在浏览器上会显示2px;当dpr=3设置1px在浏览器上会显示3px。(英语:Retina Display)是一种由苹果公司设计和委托制造的现实屏幕,具备足够高像素密度而使得人体肉眼无法分辨其中单独像素点的液晶屏幕。*dpi通常理解为打印分辨率,ppi通常为屏幕显示分辨率。1、canvas元素的宽高属性指的是canvas系统画布的大小。这个设置如果没有遵循画布比例,可能会导致显示畸形。2、css中的宽高属性代表canvas。原创 2024-07-09 18:40:35 · 232 阅读 · 0 评论 -
【JS】用正则匹配实现模糊搜索
) 执行正则表达式中的正向预查。正向预查是一种零宽度断言,它不消耗自身字符去匹配,而是用于查看字符串中的 当前位置之后是否能够匹配指定的模式。*注意,这里正向预查的括号,代表里面的预查都是独立的,是接着外部正则表达式指向的位置来查的,所以当多个预查连续排列是,预查开始的位置不是上一个预查结束的位置,而是括号外部指向的、此时匹配到的位置。利用这个性质,我们可以实现模糊搜索要求的乱序字符匹配!正则表达式中,除了正向预查外,还有其他预查方式,作出一个补充:1、正向肯定预查 (?原创 2024-01-25 19:57:52 · 1281 阅读 · 0 评论 -
JS中的File(四):文件流Streams API使用详解
PS:涉及到一些基本的文件操作和格式内容知识,可以进入我的主页参考我之前的此系列文章。这个系列我还会继续更新下去的~参考:从 Fetch 到 Streams —— 以流的角度处理网络请求 - 掘金 (juejin.cn)Stream API - Web API 接口参考 | MDN (mozilla.org)在流之前,如果想要对文件资源进行操作,需要先下载完整的文件,等待它反序列化成合适的格式,在完整地对接收到的内容进行统一处理。流出现之后,网络发送文件可以将文件以一块块的数据形式传输,这使得——视频缓冲区原创 2024-01-18 15:39:59 · 2062 阅读 · 0 评论 -
JS中的File(三):文件编码格式(ASCII、Unicode、UTF8等)
Unicode给所有的字符一一对应的关系,但是如果用来储存太浪费空间,比如,字符'A',ASCII编码只需要一个字节(8位),但是用Unicode就翻了一倍。原创 2024-01-15 17:42:14 · 735 阅读 · 0 评论 -
【图片滚动加载】如何解决滚动触发大量事件导致加载性能差
2、防抖:在节流的基础上,避免大量滚动触发事件导致相同的功能函数执行多次,因此设置timeout定时器,在等待执行的定时器有且仅有一个,delay时间后定时器中的内容执行完毕,定时器取消。3、两者互相控制:由于有时候网络请求比较快,快于delay时间,那么仅仅使用节流函数,会导致为了满足delay长的等待时间而导致。1、节流:特定delay时间内,无法再触发相关功能函数的执行。所以,加入timeout定时器,原创 2024-01-15 12:18:52 · 445 阅读 · 0 评论 -
JS中的File(二):TypedArray和ArrayBuffer详解
TypedArray是描述表达二进制数据的一种类数组数据视图,但并没有一个叫TypedArray的直接构造器。所以,属于TypedArray的子类有以下,其均可用于构造以及相关的类数组操作ArrayBuffer对象用来表示通用的原始二进制数据缓冲区。它是一个字节数组,是一个可转移对象(),但是它不可以直接操作其中的内容,而是要通过转换为TypedArray或者DataView(一种对象视图接口)再来进行读写操作。构造函数的形式length代表数组缓冲区的大小(以字节为单位。原创 2024-01-12 16:38:09 · 1293 阅读 · 0 评论 -
JS中的File(一):Blob对象详解
Blob是一个装着二进制数据的容器对象。Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,也可以转换成来用于数据操作。原创 2024-01-12 11:58:01 · 4613 阅读 · 0 评论 -
浅拷贝、深拷贝和浅比较、深比较的理解
当传入的依赖项是一个数组或者对象时,如果每次更新数组和对象不是返回新的引用,而仅仅是直接修改其内容中的key:value则不会触发useEffect执行。在js中===、react中useEffect、useMemo(根据依赖项缓存函数返回值,有时候也可以视作对于依赖项的一些再加工计算)的执行都根据的是浅比较,那么在写代码时候如何让其实现深比较呢?当你去复制或者传递一个值的时候,浅拷贝会创建一个新的空间或对象,然后简单地将值复制给新的对象。深拷贝也是创建了一个新的空间或对象,但是并不是简单的赋值,而是。原创 2023-08-19 13:40:34 · 242 阅读 · 0 评论 -
【JS】关于==、===与Object.is考察时的坑点总结
【代码】【JS】关于==、===与Object.is考察时的坑点总结。原创 2023-04-21 19:05:39 · 68 阅读 · 0 评论 -
【JS】var和let区别详解
let 声明的变量的作用域既可以是全局或者整个函数块,也可以是 if、while、switch等用。1、执行上下文:执行上下文有三类:全局执行上下文、函数执行上下文、eval 函数执行上下文。上述过程就是我们所谓的“变量提升”,这也就能解释为什么变量可以在声明之前使用,因为。let声明的作用域下,虽然变量依然在创建执行上下文的时候就被创建,var 和 let 的作用域规则都是一样的,其声明的变量只在。- var 声明的变量的作用域只能是全局或者整个函数块的。var 在全局环境声明变量,会在。原创 2023-04-09 23:22:11 · 1036 阅读 · 0 评论 -
【JS】数据类型、函数传参和内存
JS基础——数据类型原创 2023-02-16 21:34:26 · 90 阅读 · 0 评论 -
【JS】原型链:__proto__和prototype解析
围绕一个典例展开对JS原型链的理解和阐述转载 2023-02-16 16:24:47 · 1167 阅读 · 0 评论 -
【Javascript】并发模型和事件循环详解
Javascript异步编程是重要一环,但是它是如何组织执行顺序的呢?这篇文章将详细探讨其背后的事件循环机制原创 2023-01-16 23:26:50 · 136 阅读 · 0 评论 -
【JS对象】看这一篇就够!从实践到底层JS对象详解!
JS对象详解原创 2022-09-06 21:48:35 · 926 阅读 · 0 评论 -
【JS执行机制】从表面到深入,详解闭包及其背后的作用域链
从JS执行机制的角度谈闭包原创 2022-09-02 17:39:18 · 211 阅读 · 0 评论