- 博客(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
原创 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
原创 面试必考!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
原创 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
原创 前端需要注意的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
原创 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关注的人