- 博客(191)
- 收藏
- 关注
原创 js箭头函数的this
要记住的关键是理解箭头函数的特性,以及如何利用其特性来管理。的,由它所在的词法作用域决定,这使得箭头函数在访问外部作用域的变量和方法时更加方便和可靠。关键字的指向是在定义时确定的,而不是在运行时确定的,这与普通函数有所不同。是在函数定义时确定的,并且是词法上下文(Lexical Context)中的。的值,而不是箭头函数被调用时的调用者。的指向,你可以使用一些技巧或者在箭头函数外部定义一个变量来保存正确的。值在运行时才确定,并且取决于函数被调用时的上下文。可能会因为调用方式的不同而发生变化,而箭头函数的。
2024-04-26 21:30:32 200
原创 js转换成Number类型的方法与规则
为了将值转换为相应的基本类型值,抽象操作 ToPrimitive 会首先(通过内部操作 DefaultValue)检查该值是否有 valueOf()方法。(如果对象没有 valueOf() 方法,或者 valueOf() 返回的是对象,那么会调用 toString() 方法,然后再尝试将返回值转换为数字。如果 valueOf() 和 toString() 均不返回基本类型值,会产生 TypeError 错误。等方法可以将数字或其他可转换为数字的值转换为整数。方法来获取其原始值,然后再转换为数字。
2024-04-26 20:04:53 209
原创 ToPrimitive原理
在 JavaScript 中,ToPrimitive 方法是一个抽象操作,用于将一个值转换为对应的原始值。当 JavaScript 引擎需要将一个非原始值转换为原始值时,会调用 ToPrimitive 方法。这个方法通常在 JavaScript 引擎内部使用,例如在执行比较操作符时,需要将对象转换为原始值。方法,如果返回的是一个原始值,则直接将其作为结果返回;方法,如果返回的是一个原始值,则直接将其作为结果返回;方法的调用顺序不同,从而影响了最终的转换结果。方法,再根据返回值转换为数字类型的结果。
2024-04-25 21:29:06 152
原创 对浅拷贝的理解
浅拷贝出来的对象和旧对象的引用地址是不同的。在浅拷贝过程中,会创建一个新的对象,该对象包含了源对象的所有可枚举属性的副本。因此,尽管浅拷贝后的对象可能与源对象具有相同的属性值,但它们是两个不同的对象,存储在内存中的不同位置,拥有不同的引用地址。
2024-04-24 23:06:21 312
原创 事件循环 草稿
JavaScript 中的任务队列包括宏任务队列和微任务队列,它们负责存储待执行的任务。事件循环负责管理任务队列的执行顺序,保证了任务的顺序性和及时性。微任务队列的优先级高于宏任务队列,微任务会在宏任务之前执行。希望这个解释对你有所帮助!如果有任何疑问,请随时问我。
2024-04-23 23:03:13 854 1
原创 setTimeout运行机制
一旦调用栈(Call Stack)为空(即当前没有正在执行的代码),事件循环(Event Loop)会检查任务队列是否有任务。的运行机制是将指定的代码块推迟到一定延迟后执行,而不会阻塞后续代码的执行。时,JavaScript 引擎会创建一个定时器,并将指定的代码块(回调函数)添加到一个称为**定时器队列(Timer Queue)**的数据结构中。在这段时间内,JavaScript 引擎会继续执行后续代码,同时等待定时器的触发。不会阻塞后续代码的执行,而是将回调函数放置在一个“等待执行”的队列中。
2024-04-23 22:16:12 292 1
原创 React参数传递问题
这种写法通常更为常见和推荐,因为它能够明确地指示组件需要哪些 props,并且提供了更好的代码可读性和维护性。在 React 中,组件的 props 可以通过对象解构的方式来传递。的方式来定义函数参数时,实际上是在从 props 对象中解构出。的方式来定义函数参数,以保证代码的清晰度和可读性。
2024-04-18 23:04:30 399 1
原创 axios的两种请求方法
综上所述,虽然两种写法都可以实现相同的功能,但是第二种 async/await 的写法更加简洁、易读,并且可以更好地处理异步操作中的错误。
2024-04-18 22:11:57 377
原创 解构 和 展开运算符
数组解构是将数组的单元值快速批量赋值给一系列变量的简洁语法,如下代码所示:// 普通的数组let123;// 批量声明变量 a b c// 同时将数组单元值 1 2 3 依次赋值给变量 a b clet;log;// 1log;// 2log;// 3</用剩余参数解决总结:赋值运算符左侧的[]用于批量声明变量,右侧数组的单元值将被赋值给左侧的变量变量的顺序对应数组单元值的位置依次进行赋值操作变量的数量大于单元值数量时,多余的变量将被赋值为undefined。
2024-04-17 20:40:35 684
原创 跨域问题 及 解决
跨域(Cross-Origin Resource Sharing,CORS)是由浏览器的同源策略(Same-Origin Policy)引起的,同源策略是浏览器最基本的安全机制之一,用于防止恶意网站通过脚本等方式访问用户的私密信息。同源策略要求网页中的脚本只能与其所属的相同的资源进行交互,而不允许跨域访问。只要3者有一个不同,就跨域什么是 协议、域名、端口号?以https://www.baidu.com/ 为例https://
2024-04-14 21:09:10 428
原创 JS文件导出变量
如果config.jsconfig.jsexportimport这样,其他 JavaScript 文件就可以按需导入config.js中导出的多个变量了。
2024-04-11 15:41:41 275
原创 React【Day2】
概念:自定义Hook是以use打头的函数,通过自定义Hook函数可以用来实现逻辑的封装和复用// 封装自定义Hook// 问题: 布尔切换的逻辑 当前组件耦合在一起的 不方便复用// 解决思路: 自定义hook// 可复用的逻辑代码value)// 哪些状态和回调函数需要在其他组件中使用 returnreturn {value,toggle// 封装自定义hook通用思路// 1. 声明一个以use打头的函数// 2. 在函数体内封装可复用的逻辑(只要是可复用的逻辑)
2024-03-24 11:50:03 806
原创 React【Day1】
项目运行指令,列表渲染,事件绑定,组件基本使用,useState,类名控制className,【实战项目】B站评论项目,classNames包优化类名控制
2024-03-22 10:49:57 1087
jpg或eps的世界地图 如何转换成json格式
2023-05-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人