- 博客(30)
- 问答 (2)
- 收藏
- 关注
原创 Object转Map集合
的主要用途就是将键值对集合(如 Map)转换为普通对象。Map → 对象:Symbol 键会被忽略。能重建 Map 吗?
2025-05-30 17:46:03
213
原创 探索JS数组新方法:
js数组新方法:Array.with()、Array.toSorted()、Array.toReversed() 和 Array.toSpliced()在Javascript中数组作为引用类型,如果我们想在不修改原始数组的情况下执行。等方法,那么我们必须首先创建。
2025-05-30 15:55:49
158
原创 es6+和css3新增的特性有哪些
2,盒模型,(标准和模型,content就是宽高;1,记住的方法,从一个方法里面用到了哪些技术。1,选择器(支持属性选择器,伪类和伪元素)5,布局(Flexbox,Grid)6,2D/3D转换,过渡,动画等。5,Promise的异步编程。3,背景样式升级,边框升级,4,渐变(文本效果)
2025-05-30 12:46:40
1162
原创 Common JS和ES Module的区别
2,支持动态导入require可在代码任意位置,是同步加载(运行时加载)5,循环依赖处理方面:因为是同步加载,导致可能加载到未完全初始化的模块。2,支持动态导入import()方法,返回的是Promise。1,require导入,module.exports导出,6,循环依赖处理方面,在编译解析时静态分析解决了循环依赖。3,静态加载,编译时解析依赖,解析时确认依赖关系。5,导出的是值的引用,修改原模块会同步到导入处。4,导出的是值的拷贝,导出后与原模块解耦。1,import导入,export导出。
2025-05-27 17:23:44
404
原创 undefined和null
undefined一个是系统级“未定义”,null一个是开发者主动赋值为“空值”**避免主动赋值变量为undefined,引发歧义。1,显示标记变量为“无值”,后续赋值对象等。1,变量声明未赋值(变量未初始化)3,在函数返回值当中明确表示“无”在 JavaScript 中,
2025-05-27 16:05:48
107
原创 当页面有大量图片,需要如何优化加载,提升用户体验
4,当图片过大时,使用特殊编码的图片,加载时先展示一张压缩的图片,提升用户体验。3,当使用css图片时,选择雪碧图CSSsprite,SVG图。对象加载图片资源,但不插入 DOM:)1,图片懒加载,未在可视区域不进行加载。或滚动事件监听判断图片是否进入视口。2,图片预加载,当是轮播图和幻灯片时。二:图片的预加载(幻灯片)的实现思路。加载完成后添加动画效果,提升体验。替换为占位符,真实地址存入。一:图片懒加载的实现思路。将所有需要懒加载的图片的。处理动态内容和兼容性兜底。
2025-05-26 17:33:56
329
原创 JavaScript 中的箭头函数和普通函数(传统函数)在语法和功能上有以下主要区别
箭头函数没有自己的this,继承外层作用域的this,(词法作用域)普通函数的this,是动态绑定的this,由调用时决定的。**适用于需要固定this的场景,定义定时器,或者回调函数。2.4不能定义Class类,因为没有super,2.1没有自己的argument,2.2不能用于创建构造函数,2.3不能作为生成器函数,2.5不能用作生成器函数(1,this的绑定方式。
2025-05-26 16:52:50
148
原创 前端需要注意的SEO
SEO(搜索引擎优化)对于网站来说非常重要,尤其是前端部分,因为搜索引擎爬虫主要解析前端代码。前端需要注意的SEO包括HTML结构优化,内容优化,性能优化,移动友好性等方面。针对 React/Vue 等 SPA 框架,使用 Next.js/Nuxt.js 解决爬虫无法渲染 JavaScript 的问题。资源压缩:通过webpack等工具压缩css/js,使用webp格式图片;2,响应式布局,使用媒体查询和Flexbox/Grid实现适配。等标签,帮助爬虫理解页面结构。,按层级使用标题标签,避免跳级。
2025-05-21 16:05:02
563
原创 Nginx解决跨域的原理?
因为跨域是浏览器的限制,而服务器之间没有这个限制。Nginx作为同域下的服务器,转发请求到不同域的后端,浏览器看到的是同源请求,所以不会拦截。:你网购时,商家从外地发货(跨域),但快递公司先送到本地中转站(Nginx),再由中转站派送到你家(浏览器)。对你来说,包裹是从本地来的(同源)。(反向代理),告诉他你想吃什么,他替你去排队买,再把食物送到你手上。:隐藏真实服务器 IP,屏蔽恶意请求,防止 DDoS 攻击。浏览器认为请求是同源的(因为地址栏域名没变),放行请求。:代替你去拿资源,隐藏真实的餐厅位置。
2025-05-19 17:52:46
401
原创 什么是跨域?
利用本地开发服务器(如 Webpack/Vite)将请求代理到目标服务,绕过浏览器限制。浏览器会拦截跨域请求的响应(如 Ajax、Fetch),以阻止恶意网站窃取用户数据。:仅支持 GET 请求,安全性低,已逐渐被 CORS 取代。标签不受同源策略限制的特性,通过回调函数接收数据。:服务端设置响应头,允许指定源的请求访问资源。:通过服务端反向代理将跨域请求转发到目标服务。:实时通信(如聊天室),非通用跨域方案。:标准化、安全,无需前端额外代码。:适用于生产环境,无需前端改动。:开发友好,无需服务端改动。
2025-05-19 17:11:11
145
原创 js的宏任务和微任务
所有微任务执行完之后,浏览器可能进行渲染(ui更新),但是MutationObserver又是监视DOM变化的回调的作用。问题就是,我微任务MutationObserver已经执行完了,浏览器才进行渲染,那MutationObserver监听的dom还没渲染出来吗?4. 执行所有微任务(包括 MutationObserver 回调)5. (可选)浏览器渲染(样式计算 → 布局 → 绘制)(浏览器渲染前执行,通常归类为宏任务)(Promise 的异步回调)(监听 DOM 变化的回调)(清空微任务队列)。
2025-05-19 15:38:37
350
原创 在 JavaScript 中,执行栈/方法调用栈遵循“先进后出”的规则
在 JavaScript 中,执行栈(也称为方法调用栈)是一种用于管理函数调用的数据结构。它遵循“先进后出”(LIFO, Last In First Out)的规则,这意味着最后被调用的函数会最先执行完毕并从栈中移除。
2025-05-19 14:35:19
187
原创 vscode使用Open with Live Server
跑通EasyPlayerPro.js,vscode的Open with Live Server的使用
2025-04-18 11:22:16
292
原创 vue2對自定義表單(Variant Form)的引入使用
1,確認項目已安裝使用了elementui組件庫。因爲vform基於此組件庫。1.1下載vform依賴 npm i vform-builds。2,想要二次開發自定義表單組件庫,需要將源碼放入自己的項目中。1.2在mian.js中引入并全局注册VForm组件。1.3在模板中使用表单设计器组件。2.1在gitee上將代碼拉下來。將組件源碼放在項目對應位置即可。
2025-04-02 16:31:33
201
原创 Conflict: Multiple assets emit different content to the same filename index.html报错解决方案
vue項目運行錯誤:Conflict: Multiple assets emit different content to the same filename index.html
2025-03-20 10:27:40
307
原创 vite+ts的vue項目,eslint的代碼規範
5,安裝eslint-plugin-vue插件npm install --save-dev ellint-plugin-vue;2.1,eslint配置文件的名字是eslintrc.cjs,但是有的名字是eslint.config.js。給項目安裝eslint的配置文件:npm init @eslint/config。2,安裝:npm install eslint --save-dev。查看版本:npx eslint --version。然后通过AST 来分析我们代码。1,eslint是什麽。
2025-02-21 11:01:28
377
原创 vite+typescript的vue項目
快捷命令:npm create vite@latest vue3-basic --template vue-ts。給項目安裝eslint的配置文件:npm init @eslint/config。安裝:npm install eslint --save-dev。vue-ts:vue項目并且用了typescript。查看版本:npx eslint --version。編譯器vscode安裝插件eslint配合檢測代碼。vue3-basic:創建的項目名/項目文件。3,代碼規範eslint。
2025-02-20 15:21:32
163
原创 前端圖片通過鼠標滾輪放大縮小
不同,wheel事件提供了更精细的滚动控制信息,包括滚动方向和速度。是HTML5引入的一个新事件,用于监听鼠标滚轮的滚动行为。
2025-01-24 17:00:57
170
原创 css實現文字居中,多行超出顯示省略號
* 实现垂直居中 */單行時:實現文字水平和垂直居中;***不能給予高度height。/* 自动边距实现水平居中 */多行時:實現文字多行超出后省略號替代。/*要显示的行数*/
2024-11-29 16:52:58
272
原创 flex佈局下,希望子標簽的寬度由内容撐開。(子元素陰影顯示不全)
問題:子元素不設置寬度,由内容和padding撐開,但是發現子元素超出了父元素的區域。導致子元素陰影丟失。解決:子元素設置span内聯標簽。然後設置position: absolute;
2024-09-14 17:57:14
189
原创 vue的默認子路由
2,在children中,定義一個空的路由,此為默認展示的子頁面。1,使用重定向”redirect“,跳轉到所想展示的頁面。點擊父元素路由,希望默認有個子路由的頁面展示。
2024-09-11 17:16:03
243
1
原创 vue的真实dom和虚拟dom相互转换的方法是啥?
图一:我箭头的这个是真实的dom,添加不了click的方法,要怎么让它可以加上点击事件。vue的真实dom和虚拟dom直接的转换的两个方法是什么?
2024-04-27 18:22:37
193
3
原创 elementUI表格table的列内置样式修改方法/对比template,列属性class-name,table属性cell-class-name
1,table属性cell-class-name的使用可以作用到某一行,或者某一列等等。但是在style标签中要去掉scoped,不然无效。(在elementUI中,row-class-name、row-style、cell-class-name等属性要想生效必须使用全局class才能生效。因为之前的代码都是在组件中编写的,所以去除中的scoped即可该组件中的样式变为全局属性。)并且这个作用到的列标签td (如图)2,使用<template></templ...
2021-12-15 20:27:08
3179
原创 修改element中table的某一列内置
需求,表格的每一列都居中对齐,但是第一列标题有二级分类,内容居中对齐不美观。最终效果如下。步骤:1,让所有列居中,align="center", 第一列用居左align="left" ,然后第一列的标题头header-align="center"居中,2,使用:cell-class-name="firColClass",设置padding样式,来让内容挤过来。**注意**在elementUI中,row-class-name、row-style、cell-class-name等属...
2021-12-15 19:55:24
1836
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人