- 博客(18)
- 收藏
- 关注
原创 <script ></script>的几种引入方式
├─ async 脚本 → 异步加载 → 下载完立即执行(可能中断解析)├─ 普通脚本 <script src> → 阻塞解析 → 立即执行。├─ 模块脚本 → 异步加载 → 解析完成后执行(类似 defer)├─ defer 脚本 → 异步加载 → 延迟到解析完成后执行。下载完成后立即执行(可能中断 HTML 解析)├─ 执行 defer 脚本(按顺序):需要立即执行的脚本(已逐渐被淘汰)异步加载(不阻塞 HTML 解析)异步加载(不阻塞 HTML 解析):独立脚本(如分析统计)默认 defer 行为。
2025-06-20 17:59:58
709
原创 class 类和的使用interface接口的使用
在类中,因为每次都需要定义一个字段并 在构造器中去赋值,代码重复切麻烦,所以提供了简写形式,但是需要用到修饰符,如果类中的属性和方法没有写修饰符,默认就是public。抽象类可以理解为一个标准模板(可写一些公共属性,公共方法),不能直接使用(不能实例化,但是可以被继承),得套上些自己的东西。去定义抽象类和抽象方法,抽象方法不能写具体实现,具体实现逻辑得在子类中去写。类可以去继承另一个类,可以继承父类的全部属性和方法。如果是继承父类,并且没有自己需要定义的字段,:是类的一个构造器 ,接收的是类需要的字段。
2025-06-18 17:26:08
251
原创 属性绑定的注意点
返回的结果是字符串(图片URL),然后绑定到。的内容,结果不会是一个字符串,导致图片不显示。,而不是函数的返回值。Vue会尝试将函数作为。属性,(绑定函数返回值)。
2025-06-16 15:46:18
184
原创 前端请求Content-Type常见值及作用
有的时候使用 new FormData();来上传文件,上传的值死活不是二进制的,这个时候就要来看看请求头中的Content-Type了,可能是Content-Type设置错了在前端请求中,是 HTTP 头部的重要字段,用于告知服务器请求体的数据格式。以下是常见的。
2025-05-23 14:58:27
555
原创 上传注意点
charset=utf-8,否则上传的是{uid:1211545151}这种格式,而不是file二进制文件。当使用FormData上传二进制的时候,注意请求头的 Content-Type 不能为。在上传的时候,请求头要么不设置,让浏览器自动设置为。
2025-05-20 10:30:03
180
原创 async await和Promise的使用
async 单独使用的话就是将一个普通方法变成Promise异步方法,await不能单独使用,必须要配合async 一起使用。async await就是Promise的语法糖,async await一起使用的话必须要在Promise方法上才有效,async await其实就是获取Promise的返回值的时候,不需要使用then去获取值了。Promise常用方法 .then() .catch() .finally() .all()promise的all方法就是将多个异步方法同步化。
2025-02-25 17:41:49
150
原创 vue3的Pinia的使用
pinia的写法和在组件中写的时候几乎一致,需要注意的是不能直接解构,会丢失响应式,要是想用解构的话,使用storeToRefs不会丢失响应式。
2025-02-25 14:16:49
152
原创 resetFields的使用(重置表单)
resetFields的作用:对整个表单进行重置,将所有字段重置为初始值(而不是设置为空值)并移除校验结果。注意:一定要加上prop,负责无法清除。
2024-12-04 16:09:45
533
原创 js的 map、flatMap 和find 、filter的使用
find 、filter 都是过滤操作,找到符合要求的对象返回,区别在于find只会返回第一个找到的值,而filter会返回全部符合要求的对象。flatMap会将结果数组扁平化一层,就是返回的结果是一个数组,就会将数组去掉后返回,假如返回的不是数组,会变成数组在扁平化一层在返回。map和flatMap 都是返回一个新数组,map不会改变数组长度,flatMap可以改变长度。就是在数组上加工变成一个新的数组,切不会改变数组长度,不满足条件的返回undefined。
2024-11-15 13:45:54
324
原创 vue3+vite 动态引入路由报错问题
const modules = import.meta.glob("../views/**/**.vue") //引入views下的所有文件,返回一个对象。vue3 vite项目不能直接引入vue文件,需要使用 vite提供的一个api。
2024-05-21 16:25:00
443
1
原创 事件循环(消息队列)
js是单线程,假如写了一个定时函数,那就会产生一个异步任务放到消息队列里面去,主线程接着往下执行,直到把代码执行结束,又去执行队列里面的任务,直到全部执行结束,就会休眠,有其它任务就会唤醒它,消息队列里面的任务是有优先级的。一定要等微队列里面的任务全部执行完才会执行后面的,不管是先放进去还是后面放进去的。promise里面的东西都会放到微队列里面 去。微队列>交互队列>延时队列。结果:等待1秒输出 2 1。结果:等待3秒输出 2 1。结果:5 4 3 1 2。结果:5 1 2 3。
2024-03-08 22:47:21
558
1
原创 import 优先级(执行提前)
store里面用到了vuex,但是这个时候还没有执行Vue.use(Vuex),尽管Vue.use(Vuex)写在import 之前,但是import提升到最前面去了,还是会报错。import 引入的东西优先级会提示,会优先执行,和var提示是同一个道理,所以向下面这么写就会报错。正确的写法,在index.js里面Vue.use(Vuex)
2023-11-18 17:15:27
593
原创 Object.defineProperty
注意:Object.defineProperty比直接赋值更高级,可以做到响应式,vue很多地方用到了Object.defineProperty,因为代码从上往下执行,执行过了就不重新赋值,如下就不是响应式,所以要用到Object.defineProperty。get里面必须要有返回值,返回值就会赋值给控制的属性,有人调用person的age属性就会触发age。第三个:配置项(对象形式),很重要,里面可以配置很多重要的东西,主要能配置get和set。第二个:需要控制的对象的属性(‘字符串形式’)
2023-11-04 10:24:02
122
1
原创 学习es6模块化导出导入
此时导入的地方名字必须与导出的地方一致,按需导入export可以使用多次,可以和默认导入一起使用,可以使用as关键字进行重命名。
2023-09-07 11:39:35
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅