![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES
文章平均质量分 92
含ES重难点
参宿7
让自己变得更好的动力和行动比达到目标更重要。
展开
-
js,jsx,ts,tsx区别
在文件后缀中.js表示这是一个 JavaScript 文件.jsx表示这是一个 JavaScript XML 文件JavaScript 是一种直译式脚本语言,大家应该都很熟悉JavaScript XML 是React组件内部构建标签的类XML语法。可以理解为React提供的语法糖,可以让编译器更方便快速的选择编译方式。JavaScript 是能够被浏览器直接识别的,JavaScript XML需要经过编译器(webpack等)转换成 JavaScript.js.jsx。原创 2023-05-24 19:30:24 · 5382 阅读 · 0 评论 -
原型、this、闭包,for四类循环,ES6-14(2023)
可以将一个多参数函数转化为一系列只接受一个参数的函数,这使得参数可以在不同的环境中被复用。柯里化可以更容易地进行函数组合,将多个小函数组合成更大的函数,提高代码的可读性和可维护性。或等于(||=) a ||= b 等同于 a || (a = b);且等于(&&=) a &&= b 等同于 a && (a = b);这一个修饰符,但是这个修饰符只会在我们写代码的时候限制我们,真正。可以部分应用函数,只传递部分参数,返回一个接受剩余参数的新函数。,然后释放内存,所以将不需要的对象设为。原创 2023-08-16 17:26:54 · 1826 阅读 · 0 评论 -
js堆栈、判断数据类型、toString和valueOf区别,类型转换、不同类型间的运算、判断相等
这样的数字字面量是浮点数值,而不是整数。JavaScript 没有单独的整数类型。使用了 "SameValueZero" 比较算法,它不会对。进行特殊处理,而是按照严格的。原创 2023-10-04 21:28:31 · 343 阅读 · 0 评论 -
ES6-ES13符号:单双引号、变量的解构赋值、占位符 、字符串模版`${} `、扩展运算符...、?,??,_,||=,&&=,in
是 truthy 值(不是 false、null、undefined、空字符串、0、NaN),则将。是 falsy 值(false、null、undefined、空字符串、0、NaN),则将。且等于(&&=) : a &&= b 等同于 a && (a = b);或等于(||=) :a ||= b 等同于 a || (a = b);) 的情况下不会引起错误,该表达式短路返回值是。含局部变量时用模板字符串(反引号 ``` `)链式运算符,不同之处在于,在引用为空 (原创 2024-07-14 10:18:17 · 988 阅读 · 0 评论 -
setTimeout、setInterval、requestAnimationFrame,定时器不准时
变动观察器)是一种Web API,它允许开发者监视DOM树的变化并在这些变化发生时执行回调函数允许监视DOM树的变化,因此它也可以用于异步任务的调度。不同设备的屏幕刷新频率可能不同, setTimeout/setInterval只能设置固定的时间间隔,这个时间和屏幕刷新间隔可能不同。考虑极端情况,假如定时器里面的代码需要进行大量的计算,或者是DOM操作,代码执行时间超过定时器的时间,会出现定时器不准的情况。是一种宏任务,但是优先级较低,可能在其他异步任务之后执行。这样设计的原因,如果在GUI渲染的时候,原创 2024-01-30 19:04:44 · 841 阅读 · 0 评论 -
匿名/箭头函数,立即执行函数IIFE;函数声明式和函数表达式
工具函数Util。原创 2024-01-19 19:07:03 · 486 阅读 · 0 评论 -
JS、React、HTML的执行上下文this,this\that\self,作用域
严格模式下,不允许将原始值(如字符串、数字、布尔值)包装为对应的对象(String、Number、Boolean),而是保持它们的原始类型。获取全局对象,无论你的代码是否在当前上下文运行。,在非严格模式下,它们会被替换为全局对象(通常是。参数是一个原始值(比如数字、字符串等),则。这是为了确保函数始终有一个合法的。进一步进行绑定,从而创建另一个绑定函数。会被转换为对应的包装对象。对象,防止出现错误。绑定函数将绑定时传入的参数(包括。是一个数字,它将被转换为。不会被替换,函数内部的。通常情况下,你可以将。原创 2023-09-19 23:25:30 · 269 阅读 · 0 评论 -
宏任务,微任务,事件循环event loop、setTimeout,setInterva、nextTick与process.nextTickl区别【示例讲解】
不同设备的屏幕刷新频率可能不同, setTimeout/setInterval只能设置固定的时间间隔,这个时间和屏幕刷新间隔可能不同。,只会被推入到更新队列中一次,可以避免重复修改相同的dom,这种去除重复数据,对于避免不必要的计算和 DOM 操作是非常重要的。考虑极端情况,假如定时器里面的代码需要进行大量的计算,或者是DOM操作,代码执行时间超过定时器的时间,会出现定时器不准的情况。setTimeout/setInterval是宏任务,根据事件轮询机制,其他任务会阻塞或延迟js任务的执行。原创 2023-09-21 14:34:57 · 807 阅读 · 0 评论 -
闭包:被定义的作用域外被调用时,仍然可访问定义时的作用域内的变量【引用未释放】
(closure)是一个函数以及其捆绑的周边环境状态()的的组合。原创 2023-09-21 18:35:20 · 207 阅读 · 0 评论 -
JS预定义解析/编译(变量提升):var、let、const(声明无赋值)、function(声明+赋值)
目录let、const 、class的暂时性死区顶级作用域和函数作用域:let 不会在全局对象上创建属性let不允许重复声明*编译分词/词法分析:分解(var a=2=> var,a,=,2)解析/语法分析:词法数组=>程序语法 结构的“抽象语法树”(a->2)(Abstract Syntax Tree,AST)代码生成:将 AST 转换为可执行代码调用函数的对象“暂时性”区:这个区域取决于代码执行的时间点,而不是代码编写的顺序。用 、 或 声明的变量可以称其从代码块的开始一直到代码执行到变量声明的原创 2023-09-21 18:37:28 · 331 阅读 · 0 评论 -
原型、原型链、判断数据类型、Object方法和运算符
原型被定义为给其它对象提供的对象,函数的实例可以共享原型上的属性和方法。原创 2023-09-29 11:26:10 · 681 阅读 · 0 评论