![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TypeScript/JavaScript
文章平均质量分 81
主要记录学习笔记、面试知识点
nuise_
这个作者很懒,什么都没留下…
展开
-
JavaScript 位置大小相关属性 | offsetX/screenX - clientWidth/offsetWidth - Intersection Observer API
由于visibility: hidden的元素只是看不见,但还是会占据位置所以需要计算节点的大小位置信息所以在渲染树中,所以可以获取到offsetWidth。– 以下案例是120+10+10+300+10+10 = 460 = x+width。: “元素中的内容” 超出 “元素上边界” 部分的高度,也可以理解为滚动条滚动了多少距离(滚动距离):目标元素与根元素的交集相对于目标元素百分比,取值范围 0.0-1.0,没办法具体到xpx的像素。--以下案例是90+10+10+300+10+10 =原创 2024-06-05 17:52:34 · 772 阅读 · 1 评论 -
input框添加验证(如只允许输入数字)中文输入导致显示问题的解决方案
测试环境:react + antd input (react的事件与原生js事件不同,思路是等同的)1.先关闭验证,在中文输入时,输入框会显示输入的字符。通过打印发现,输入中文时。回调函数提前退出不做验证;在中文输入完成后,触发验证。2.打开验证,输入字符串时验证正常,但在输入中文时,框只允许输入数字,如果输入字符不是数字就替换为空。所以我们的思路是,在进行中文输入的时候。也会被触发,验证异常。一下两个事件的触发时机。原创 2024-04-26 11:15:42 · 459 阅读 · 0 评论 -
JavaScript理解模块化的作用域 | 作用域 - 执行上下文 - 模块化
每个js文件都是一个单独的模块,每个模块在编译包装后形成函数,所以每个模块内容都在一个函数作用域里。aaa执行时,现在当前函数作用域找a(l理解为aaa.a),没找到。这种静态语法,在编译过程中确定了导入和导出的关系,所以更方便去查找依赖,更方便去 tree shaking。,每当调用一个函数时,都会创建一个新的函数执行上下文,函数执行上下文在函数执行结束后被销毁。模块的概念:一个模块就是一个独立的文件,该文件内部的所有变量,外部无法获取。3.执行函数:在函数上下文中,执行函数体内的代码。原创 2024-01-22 16:09:25 · 964 阅读 · 0 评论 -
JavaScript Class类 | 类的继承 - 类的使用 -原型与原型链
有一种说法解释: 因为构造器是用来对实例初始化的,而子类实例在初始化之前要先初始化它的父类成分。因为 JS 是弱类型的,super 调用时的传参没法自动预判,没法代劳。Parent.call(this,name) 第一次参数是指定函数Parent里的this 为参数this,name为Parent函数传递的参数。存在暂时性死区,代码执行过程中的一段时间内,在此期间无法使用标识符,也不能引用外层作用域的变量。实例原型链:子类的实例可以拥有父类的方法,通过。作用:创建一个新对象,新对象的隐式原型指向参数。原创 2023-12-29 15:32:13 · 1051 阅读 · 0 评论 -
H5新Api | requestIdleCallback - requestAnimationFram
但是如果在空闲时间内依次执行callback时,有一个callback的执行时间,已经将空闲时间用完了,剩下的callback将会在下一次的空闲时间执行。页面每隔16.7ms才会渲染一次,那么在两次渲染的中间时间,就是浏览器的空闲时间,在这段空闲时间执行的任务,是不会阻塞到页面渲染的流畅性的。在Event Loop的执行时机如下图所示,蓝色区域代表一帧内的渲染任务,当这些任务执行完后,剩余的时间被认为是空闲时间。每次执行下一个任务时,先检查当前页面是否该渲染下一帧了,如果是则让出线程,进行页面渲染。原创 2023-10-27 17:55:02 · 399 阅读 · 0 评论 -
异步迭代器 for-await-of
集合概念有字符串、数组、对象、Map、Set,需要有一个统一的来处理所有不同的数据结构。迭代器iterator是一种接口,为不同的数据结构提供统一的访问机制Iteratorfor..offor-ofArray.from(…)Set。原创 2023-10-25 15:42:06 · 702 阅读 · 0 评论 -
TypeScript学习笔记 | 泛型 - 泛型的应用 - 泛型工具类 - extends - infer用法
泛型指是在定义函数或者类时并不知道类型,在被使用时才知道数据的类型。泛型先起到一个占位的作用,在使用时接收传递过来的类型。也可以将泛型类比于参数,参数接收的是变量值,泛型接收的是类型。T被称为类型变量(type variable),T作为参数泛化成具体类型的作用叫做类型参数化。说明1.泛型和变量一样,可以指定多个。比如,中间使用逗号隔开。2.泛型和变量一样,可以指定默认值。比如。3.泛型定义的位置,定义的位置一般在标识符的后面。比如。原创 2023-10-25 15:56:36 · 261 阅读 · 0 评论 -
TypeScript常见类型错误 | 类型EventTarget上不存在属性 - ts中的dom类型
事件,包含了事件的基本信息,如事件类型、目标元素等。可以使用该接口来定义事件的类型。在TypeScript中,使用事件回调函数的参数。更具体的dom元素类型基本都继承。,并对其进行了扩充。,可以将其进行更具体化的约束。xxx不存在xx类型。原创 2023-09-28 16:24:07 · 2748 阅读 · 0 评论 -
JavaScript 的真值与假值 | 如何判断一个对象为空
对象的遍历方法如Object.keys等介绍文章:https://blog.csdn.net/qq_41370833/article/details/132303942。可能{}和[]是引用类型,即使内容为空,但是地址值仍在存在?原创 2023-09-08 15:05:21 · 205 阅读 · 0 评论 -
JavaScript 对象方法及其扩展| 对象的遍历方法 | Object.create | Object.assign
3.遍历所有 Symbol 键,按照加入时间升序排列。2.遍历所有字符串键,按照加入时间升序排列。1.遍历所有数值键,按照数值升序排列。原创 2023-08-23 16:37:47 · 157 阅读 · 0 评论 -
TypeScript引用类型 | 空对象增加属性报错解决方案 - 在TypeScript中动态为对象赋值 - 初始化空数组 -具有未知键的对象定义类型
适用于明确有哪些属性的情况//a.b可以赋值任意的类型源码涉及到 undefined 表达都会被编译成 void 0如果不确定对象中的属性名//propName 可以是任意值a.a = 1;如果确定部分属性名,可以结合可选属性和必选属性规范传入的参数: numberDQGStyle?原创 2023-08-17 10:57:13 · 1490 阅读 · 0 评论 -
逻辑或运算符||、空值合并运算符??和逻辑与操作符 &&
|??JavaScript里的假值只有false、null、undefined、空字符、0和NaN。原创 2023-07-21 15:58:20 · 125 阅读 · 0 评论 -
数组常用方法总结 | 增删查改 - 遍历数组 - 合并数组
数组实例方法:遍历数组,查找数组中符合条件的第一个元素,立即返回该元素的值。如果没有找到,则返回undefined。数组实例方法:从后往前遍历,寻找最后一个满足条件的元素callback返回布尔值,true表示找到了案例实现原理//调用时通过数组实例.find调用,所以this指向调用的数组实例 Array . prototype . find = function(fn) {i ++) {原创 2023-07-19 10:44:26 · 516 阅读 · 0 评论 -
TypeScript 学习笔记 环境安装-类型注解-语法细节-类-接口
JavaScript的变量类型相当于是动态类型,可以跟随着赋值的改变而类型改变,函数的参数也没有设定类型,所以在定位错误以及安全性上不太够。说明1.TS不能被JS解析器直接执行,需要编译成JS执行2.即使TS编译出错也可以编译成JS1.TypeScript是什么?TypeScript 是类型安全的JavaScript(拥有类型的JavaScript超集),JavaScript是弱类型, 很多错误只有在运行时才会被发现,而TypeScript提供了一套静态检测机制, 在编译时就发现错误。原创 2023-07-14 15:45:41 · 2398 阅读 · 0 评论