自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 问答 (2)
  • 收藏
  • 关注

原创 rn入口文件setup.js解读

作用:监听应用前后台状态切换(active、background、inactive)。常用于:进入前台时刷新数据、进入后台时暂停任务、保存状态等。__DEV__ 的作用:它是一个全局布尔值,在开发模式下为 true,在生产模式下为 false。1,如何判断是否可迭代对象。

2025-08-14 16:17:57 613

原创 Promise.all使用

Promise处理建议:1. 始终传入数组,即使单个Promise也应包装成数组形式;2. 不确定类型的值应使用Promise.resolve()显式包装。这两点可确保Promise处理的可靠性和一致性。

2025-08-13 18:37:11 93

原创 rn下的Redux ,React-Redux,Redux Thunk

本文介绍了Redux在React应用中的使用架构。核心包括Redux状态管理、React-Redux桥梁作用和Redux Thunk中间件处理异步action。项目实现分为:模块化reducer管理、store配置、Provider注入和组件连接四步。组件通过@connect访问状态,用dispatch触发同步/异步action,状态变更自动触发渲染。特别解惑了dispatch的来源问题,它由React-Redux通过connect注入组件props。整个架构实现了集中式状态管理和高效的数据流控制。

2025-08-13 15:11:13 587

原创 rn相关ScrollView

一:ScrollView的style和contentContainerStyle。二:flex:1,和flexGrow:1用处。

2025-08-12 17:49:14 118

原创 MQTTX使用wss的连接报错

摘要:WebSocket (wss) 连接失败可能是由于Node.js版本过低造成的。建议将Node.js升级至v20或更高版本,以解决该兼容性问题。版本升级后应能正常建立wss连接。

2025-08-12 16:13:58 200

原创 git push代码流程

文章摘要:本文介绍了Git常用操作及问题处理,包括rebase拉取代码、取消暂存、提交格式规范、冲突解决等实用技巧。重点讲解了如何通过git status查看文件状态,使用VSCODE解决代码冲突,以及查看分支对应关系、设置忽略文件等操作。同时提供了当无法解决冲突时的终止变基方案,为开发者提供了完整的Git工作流参考。

2025-08-12 16:02:26 322

原创 react的form.resetFields()

2,直接定义变量,在组件渲染时计算,每次组件重新渲染时都会重新计算这些值。这个方法会将表单字段重置为 initialValues 中定义的值。

2025-08-08 18:08:59 208

原创 moment和dayjs

Moment.js和Day.js是常用的日期处理库,Ant Design v4默认使用Moment.js。当在DatePicker组件中传入Day.js对象作为初始值时会报类型错误,需统一使用Moment.js。常用操作包括:获取30天前的开始时间(moment().subtract(30,"day").startOf("day"))、当天结束时间(moment().endOf("day"))以及格式化日期(moment(date).format(

2025-08-08 18:00:33 290

原创 react的控制form表单,表单项的显示和隐藏

通过onValuesChange事件完成,回调函数的参数changed,all。

2025-08-07 09:24:23 169

原创 JS-- for...in和for...of

摘要:for...in 和 for...of 的主要区别在于:for...in 遍历对象的可枚举属性(包括原型链),返回属性名的字符串,常用于对象遍历但不推荐用于数组;而 for...of 遍历可迭代对象(数组、Map等)的元素值,不能直接用于普通对象。在实际应用中,可用 Object.keys() 结合 for...of 更安全地遍历对象自有属性,避免原型链干扰。

2025-06-06 16:07:13 270

原创 函数表达式会覆盖函数声明-js

这篇文章探讨了JavaScript函数声明与表达式提升机制: 函数声明会优先提升,但后续变量赋值会覆盖函数声明 构造函数中return this是为了确保实例链式调用 执行顺序为:先函数声明,后变量声明,最后变量赋值 函数表达式会覆盖先前声明的同名函数 解释了各次getName()调用的输出结果差异

2025-06-06 11:55:49 219

原创 for...of和forEach的区别

JavaScript中for...of循环与forEach方法对return的处理不同:for...of的return会终止整个函数执行(如示例中返回'found'),而forEach的return仅结束当前回调(函数继续执行最终返回'notfound')。前者作用于外层函数,后者仅影响回调。这是二者在流程控制上的关键差异。

2025-06-06 10:50:16 250

原创 Bind函数实现及详解

bind函数是创建一个新的函数,这个新函数在调用时会将指定的this值和参数传递给原函数。

2025-06-05 16:15:49 491

原创 面试必考!JavaScript Object.create vs Object.assign的本质区别与实战秘籍

烛阴:https://juejin.cn/post/7499302216627093539。不像{}这种方式,无法动态指定原型!,让多个对象属性融合成为一体。,真正需要深拷贝要用其它方法!如果属性值是对象或数组,只会。属性还是需要后续赋值实现。它的最大特性,是可以。

2025-06-05 11:26:48 390

原创 JS中的原型和原型链(图解)

JavaScript原型机制要点:引用类型(除null)可扩展属性,都拥有__proto__隐式原型;函数具备prototype显式原型;对象的__proto__指向其构造函数的prototype;属性查找会沿原型链进行(如fn.toString()先在实例、Foo.prototype、Object.prototype中逐级查找)。最佳实践是将扩展方法定义在构造函数的prototype而非__proto__中。

2025-06-05 10:55:21 188

原创 JS闭包理解

闭包是指有权访问另一个函数作用域中变量的函数。创建闭包的常见方式是在一个函数内部创建另一个函数。闭包会导致外部函数的变量无法被垃圾回收,因为内部函数可能仍然引用这些变量。

2025-06-05 10:43:49 252

原创 Object转Map集合

的主要用途就是将键值对集合(如 Map)转换为普通对象。Map → 对象:Symbol 键会被忽略。能重建 Map 吗?

2025-05-30 17:46:03 512

原创 探索JS数组新方法:

js数组新方法:Array.with()、Array.toSorted()、Array.toReversed() 和 Array.toSpliced()在Javascript中数组作为引用类型,如果我们想在不修改原始数组的情况下执行。等方法,那么我们必须首先创建。

2025-05-30 15:55:49 254

原创 es6+和css3新增的特性有哪些

2,盒模型,(标准和模型,content就是宽高;1,记住的方法,从一个方法里面用到了哪些技术。1,选择器(支持属性选择器,伪类和伪元素)5,布局(Flexbox,Grid)6,2D/3D转换,过渡,动画等。5,Promise的异步编程。3,背景样式升级,边框升级,4,渐变(文本效果)

2025-05-30 12:46:40 1722

原创 为什么 WeakMap 和 WeakSet 的键只能使用对象?

是为了保证只有通过键对象的引用来取得值。

2025-05-28 15:35:45 515

原创 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 587

原创 undefined和null

undefined一个是系统级“未定义”,null一个是开发者主动赋值为“空值”**避免主动赋值变量为undefined,引发歧义。1,显示标记变量为“无值”,后续赋值对象等。1,变量声明未赋值(变量未初始化)3,在函数返回值当中明确表示“无”在 JavaScript 中,

2025-05-27 16:05:48 121

原创 当页面有大量图片,需要如何优化加载,提升用户体验

4,当图片过大时,使用特殊编码的图片,加载时先展示一张压缩的图片,提升用户体验。3,当使用css图片时,选择雪碧图CSSsprite,SVG图。对象加载图片资源,但不插入 DOM:)1,图片懒加载,未在可视区域不进行加载。或滚动事件监听判断图片是否进入视口。2,图片预加载,当是轮播图和幻灯片时。二:图片的预加载(幻灯片)的实现思路。加载完成后添加动画效果,提升体验。替换为占位符,真实地址存入。一:图片懒加载的实现思路。将所有需要懒加载的图片的。处理动态内容和兼容性兜底。

2025-05-26 17:33:56 390

原创 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 162

原创 手写创建Ajax过程/Fetch

本文介绍了Ajax和Fetch的实现方法,XMLHttpRequest发送GET请求的完整流程

2025-05-21 18:00:38 190

原创 前端需要注意的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 603

原创 Nginx解决跨域的原理?

因为跨域是浏览器的限制,而服务器之间没有这个限制。Nginx作为同域下的服务器,转发请求到不同域的后端,浏览器看到的是同源请求,所以不会拦截。:你网购时,商家从外地发货(跨域),但快递公司先送到本地中转站(Nginx),再由中转站派送到你家(浏览器)。对你来说,包裹是从本地来的(同源)。(反向代理),告诉他你想吃什么,他替你去排队买,再把食物送到你手上。:隐藏真实服务器 IP,屏蔽恶意请求,防止 DDoS 攻击。浏览器认为请求是同源的(因为地址栏域名没变),放行请求。:代替你去拿资源,隐藏真实的餐厅位置。

2025-05-19 17:52:46 460

原创 什么是跨域?

利用本地开发服务器(如 Webpack/Vite)将请求代理到目标服务,绕过浏览器限制。浏览器会拦截跨域请求的响应(如 Ajax、Fetch),以阻止恶意网站窃取用户数据。:仅支持 GET 请求,安全性低,已逐渐被 CORS 取代。标签不受同源策略限制的特性,通过回调函数接收数据。:服务端设置响应头,允许指定源的请求访问资源。:通过服务端反向代理将跨域请求转发到目标服务。:实时通信(如聊天室),非通用跨域方案。:标准化、安全,无需前端额外代码。:适用于生产环境,无需前端改动。:开发友好,无需服务端改动。

2025-05-19 17:11:11 166

原创 js的宏任务和微任务

所有微任务执行完之后,浏览器可能进行渲染(ui更新),但是MutationObserver又是监视DOM变化的回调的作用。问题就是,我微任务MutationObserver已经执行完了,浏览器才进行渲染,那MutationObserver监听的dom还没渲染出来吗?4. 执行所有微任务(包括 MutationObserver 回调)5. (可选)浏览器渲染(样式计算 → 布局 → 绘制)(浏览器渲染前执行,通常归类为宏任务)(Promise 的异步回调)(监听 DOM 变化的回调)(清空微任务队列)。

2025-05-19 15:38:37 376

原创 在 JavaScript 中,执行栈/方法调用栈遵循“先进后出”的规则

在 JavaScript 中,执行栈(也称为方法调用栈)是一种用于管理函数调用的数据结构。它遵循“先进后出”(LIFO, Last In First Out)的规则,这意味着最后被调用的函数会最先执行完毕并从栈中移除。

2025-05-19 14:35:19 230

原创 TypeScript Record vs Interface Usage

什么时候用Record定义类型,什么时候用Interface定义。

2025-04-23 12:31:31 246

原创 vscode使用Open with Live Server

跑通EasyPlayerPro.js,vscode的Open with Live Server的使用

2025-04-18 11:22:16 502

原创 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 274

原创 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 362

原创 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 403

原创 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 179

原创 前端圖片通過鼠標滾輪放大縮小

不同,wheel事件提供了更精细的滚动控制信息,包括滚动方向和速度。‌是HTML5引入的一个新事件,用于监听鼠标滚轮的滚动行为。

2025-01-24 17:00:57 184

原创 css實現文字居中,多行超出顯示省略號

* 实现垂直居中 */單行時:實現文字水平和垂直居中;***不能給予高度height。/* 自动边距实现水平居中 */多行時:實現文字多行超出后省略號替代。/*要显示的行数*/

2024-11-29 16:52:58 288

原创 flex佈局下,希望子標簽的寬度由内容撐開。(子元素陰影顯示不全)

問題:子元素不設置寬度,由内容和padding撐開,但是發現子元素超出了父元素的區域。導致子元素陰影丟失。解決:子元素設置span内聯標簽。然後設置position: absolute;

2024-09-14 17:57:14 195

原创 vue的默認子路由

2,在children中,定義一個空的路由,此為默認展示的子頁面。1,使用重定向”redirect“,跳轉到所想展示的頁面。點擊父元素路由,希望默認有個子路由的頁面展示。

2024-09-11 17:16:03 252 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除