- 博客(21)
- 收藏
- 关注
原创 vue3中proxy为什么使用了Reflect.get()?ES6的Reflect是什么?
proxy为什么使用了Reflect.get()?Reflect调用的是js底层方法,底层方法会提供有更多功能。
2024-03-23 18:12:06
144
1
原创 JS改变this指向,手写简版call、apply、bind
apply:原理同call,参数改为数组的形式。原理就是利用:普通函数的this指向调用者。bind: 内部使用了call方法。
2024-01-09 15:21:42
381
原创 前端axios并发控制器,拦截器,事件并发控制器
将 ConcurrentInterceptors 类(第一个或者私有属性的都行)复制到 js文件,在需要的文件引入,并初始化实例对象。后来发现其他场景可能也有类似需要控制并发的需求,于是不与axios绑定将其抽离成公共的类,在需要的场景使用。结合1234:利用async、await和new Promise的resolve方法进行事件的执行控制。如果 最大并发数量>当前进行中的任务数量,则调用resolve方法,结束await等待。①最大并发数量、②当前进行中的任务数量、③存储等待中的任务。
2023-12-12 10:10:11
742
原创 js中WeakMap和Map的主要区别
关系,当键(对象)不再被引用时,垃圾回收器可以自动回收这部分内存,同时会被自动从WeakMap中移除。如果键一直被引用则不会被回收。因为WeakMap属性可能会被默认移除,所以WeakMap少了size、claer、迭代器等属性方法。即使键不再被引用,Map仍然会保存该键。键只能是引用类型的对象,并且是。键可以是任意类型的值,并且是。不容易理解的地方就是。
2023-12-12 10:09:47
488
原创 js中0==null为什么是不相等?两个==比较逻辑解析
两个'=='比较逻辑解析对象如何转原始类型?1.如果对象有[Symbol.toPrimitive]方法,调用该方法,如果得不到原始值,则抛出异常。3.undefined 和 null 只有与自身比较,或者互相比较时,才会返回true。3.调用对象的toString()方法,若该方法能得到原始值则使用,反之,抛出异常。5.一端是原始类型,一端是对象类型,把对象转换成原始类型后进入第4步。2.调用对象的valueOf()方法,若得不到原始值,进入3。
2023-07-17 21:57:11
479
1
原创 如何将常用js方法打包发布成npm包
引言:项目做多了以后总有一些常用的方法在各个项目中使用,代码总是复制来复制去,还有一些方法可能存在升级优化代码等情况,这个时候每个项目都复制一遍就很繁琐,所以如果将常用的方法打包成npm包各项目重新更新包即可。4.开发好代码以后命令行执行npm login登录刚才注册的账号,如果已经登陆需要切换账号执行那npm logout然后再进行要发包的账号登录。3.package.json平级创建一个index.js,里面编写需要打包的代码方法。3.1.如果使用了其他registry,需要切换回npm的地址。
2023-06-04 20:33:06
1848
1
原创 npm多个registry如果配置,如何管理?工具nrm登场
4.添加源 (自定义名称: javaScript 地址: https://************)通过工具nrm (NPM registry manager)来管理,指令简单,随时切换。6.可能遇到的问题,解决办法:执行命令:npm i -g nrm open@8.4.2。2.查看版本,测试是否下载成功。
2023-06-04 18:32:43
1242
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人