自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 流失输出前端全程链路

以浏览器端实现大模型流式返回为案例完整代码。

2026-09-06 19:39:33 195

原创 代码输出题——原型链&&继承

实际上,这段代码就是在实现原型链继承,SubType继承了SuperType,本质是重写了SubType的原型对象,代之以一个新类型的实例。解析:其实很简单,分清对象上的静态方法和对象原型上的方法、函数调用和函数上的方法调用即可(函数也是一个对象)即可。第二条:F ——>Function.prototype ——>Object.prototype ——> null。第一条:f ——>F.prototype ——>Object.prototype ——>null。4、new的执行过程。

2026-05-24 16:35:46 220

原创 代码输出——this指向

obj.db1();// 15// 40解析:第二步,定义函数,(function ...)()立即执行//执行//window//window。number = 8})()//最后代码为:number: 3,//即后续依次调用就好理解了var x = 3;var y = 4;}();

2026-05-19 16:45:22 218

原创 代码输出——作用域&变量提升&闭包(第三题为地狱题)

)();var z;// 1var x = y = 1是按从右向左执行的,y = 1没有var为全局变量。var x = y。console一个局部变量是会报错的。

2026-05-10 20:25:59 232

原创 JS知识点

Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。WeakMap 结构与 Map 结构类似,也是用于生成键值对的集合。但是 WeakMap 只接受对象作为键名( null 除外),不接受其他类型的值作为键名。而且 WeakMap 的键名所指向的对象,不计入垃圾回收机制。js 中的内置对象主要指的是在程序执行前存在全局作用域里的由 js 定义的一些全局值属性、函数和用来实例化其他对象的构造函数对象。

2026-05-03 11:08:35 399

原创 CSS知识点

单位类型特点使用场景。

2026-04-22 15:00:22 386

原创 HTML知识点

新增:<header>(文档页眉)、<nav>(导航链接)、<footer>(文档或节的页脚)、<article>(文章内容)、<section>(文档中的节)、<aside>(所处内容之外的内容,侧边栏)。鲜见的有:<area>、<base>、<col>、<colgroup>、<command>、<embed>、<keygen>、<param>、<source>、<track>、<wbr>。降级是“往回看”(兼容旧浏览器),增强是“往前看”(适配新浏览器),同时保证基础功能可用。

2026-04-16 15:45:25 336

原创 Vue 3 编辑表单中原始数据提前更新问题的解决方案

这个问题的核心在于 JavaScript 的对象引用特性,通过深拷贝创建独立对象是解决这类问题的有效方法。这种技术不仅适用于用户编辑场景,也适用于任何需要临时修改数据但又不想影响原始数据的情况。在实际开发中,我们应该始终注意对象引用的问题,特别是在处理表单编辑、数据预览等场景时,使用深拷贝来确保数据的独立性,从而提升应用的稳定性和用户体验。

2026-04-11 16:45:41 213

原创 HTTP1.0、HTTP1.1与HTTP2.0,和HTTP与HTTPS的区别

默认。想要持久连接,需要设置,而且不是所有的浏览器都支持。默认。头默认Connection:keep-alive使多个http请求复用一个TCP连接,避免每次建立TCP连接产生不必要的时延。默认。在一个连接上实现,多个请求并行传输,避免队头堵塞。浪费带宽断点续传更高效但冗余,解析慢,头部重复传输大幅压缩头部体积,减少带宽占用新增PUT、DELETE、OPTIONS、TRACE、CONNECT、PATCH,

2026-04-04 23:14:59 420

原创 代码输出—— 异步&事件循环 —— 容易忽略的要点(最后一题为好题,写对事件循环流程基本掌握)

1、无论是then还是catch中,只要throw 抛出了错误,就会被catch捕获,如果没有throw出错误,就被继续执行后面的then()。整段代码,共进行了三次事件循环,完整的输出为1,7,6,8,2,4,3,5,9,11,10,12。上表是第一轮事件循环宏任务结束时各Event Queue的情况,此时已经输出了1和7。第一轮事件循环正式结束,这一轮的结果是输出1,7,6,8。第三轮事件循环结束,第三轮输出9,11,10,12。第二轮事件循环结束,第二轮输出2,4,3,5。

2026-03-31 12:49:09 365

原创 简易记账本:Node.js + Express + MongoDB 全栈实战小项

本项目是基于Model:数据模型(用户、账单)View:页面渲染(EJS 模板)Controller:路由与业务逻辑中间件:登录校验、Session、解析请求等结构清晰、职责分离,便于维护和扩展。web 路由:服务端渲染,返回 HTML 页面api 路由:提供接口,返回 JSON 数据这种拆分让页面逻辑和接口逻辑分离,是后端项目最常用的规范结构。密码使用 md5 加密存储Session 使用 secret 签名防篡改Cookie 设置httpOnly防止 XSS。

2026-02-26 16:34:48 728

原创 Ajax主要知识点

Promise 是 JavaScript 中用于处理异步操作的对象,代表一个异步操作的「最终完成/失败」及结果值,解决了「回调地狱」问题。1.AJAX 核心:异步通信,底层是 `XMLHttpRequest`,日常开发用 `axios` 封装库更高效;2.URL/HTTP:GET 参数在 URL(axios 用 `params`),POST 参数在请求体(axios 用 `data`),状态码 2xx 表示成功;3.

2026-02-10 19:29:01 626

原创 微信小程序上线流程

1、进入“微信公众号平台”,将以下信息填写好(“微信认证”可选,个人认证需要交30块,但不认证也可以上线,不过不能被搜索和分享)1、在HBuildX,配置manifest.json文件,配置微信小程序。6、体验版本没问题,就可以提交进行审核,特别的:这里要上传。4、上传后能在版本管理里面的开发版本看到,此时可以选择。备案审核不通过会打电话给开发者,提示不通过的部分。5、体验版本默认是只有管理员可以扫码体验的,也。,会收到认证通知,并且接到电话确认信息。3、都配置好可以在“微信开发者工具”

2025-12-17 14:33:29 715

原创 this指向与作用域

1、普通函数在对象调用时遵循“谁调用指向谁”2、函数赋值未新定义,只是引用,函数本质是一个对象3、立即执行函数的this指向window。

2025-12-12 23:32:13 681

原创 略谈事件循环

有人则从浏览器底层架构出发,认为不存在独立的“JS引擎线程”,因为V8等JS引擎是作为模块嵌入渲染主线程的,JS代码的执行本质是渲染主线程调用JS引擎模块完成的,JS引擎自身的垃圾回收等后台线程仅用于内部优化,不执行用户JS代码。事件循环的核心流程为:先执行当前宏任务对应的同步代码(清空执行栈),再将微队列中所有微任务依次推入执行栈执行(包括执行微任务时新增的微任务),待微队列清空后,再从宏队列中取出一个宏任务执行,至此完成一轮事件循环,随后重复上述流程。是进程中的更小单位,描述了执行一段指令所需的时间。

2025-12-09 23:58:24 940

原创 个人信息网页功能实现(ajax和后台交互)

1、收集表单信息使用 form-serialize插件快速收集表单数据(hash意为数据类型是否为JSON字符串,empty意为是否需要收集值为0的数据),注意后端要求,性别数据为数字类型、需要提供creator数据。2、修改头像并把头像保存到服务器内。3、保存成功,使用bootstrap下的Toast,调用show方法,显示提示框,属性data-bs-delay为显示持续时间。2、使用对象 keys 方法,将数据回显到标签上(注意 头像img src属性控制 和 性别复选框 checked控制 )

2025-07-11 19:51:14 460

原创 图书管理(实现后端交互)

前端,图书管理案例,后端交互,html,css,js,ajax

2025-05-07 11:29:10 593

原创 购物车页面(赠品写法、大小颜色写法、价格模块),思考点在于有的商品没有赠品 or 颜色 or 大小

可以看到,1.在spec这里,我获取的是spec整个对象,然后再利用Object.values()方法获取里面的键对值,直接渲染了spec盒子里面的文字,这意味着不管spec对象里面有多少个键值对,我都可以直接把它转换成文字,完美解决了只能渲染大小和颜色的问题。很明显存在不足的是:1.我直接获取spec对象的大小和颜色(不管有还是没有),然后再去判断大小是否存在,这样产生的不足有:代码冗长,并且只能渲染大小和颜色,万一后续出现其他的属性,或者不只需要渲染一个,那么就不好维护。那么我们来分析一下差异点。

2025-04-05 17:37:31 643

原创 点击表格某块区域,把整行都删除操作

这里抓住:要被删除的数据 和 被点击的删除按钮 之间的关系,很明显 它们在同一行 ,那么如果我们知道了删除按钮是第几行也就知道了 要被删除的数据在第几行 ,那么就能通过删除数组里面的对应数据轻而易举的将这行数据选出并删去。很明显,删除按钮(链接)的顺序 和 数组下标 要是等同的(从0开始),那么我们就可以通过自定义属性给删除按钮“编号”,在删除按钮点击事件发生后,获取被点击的元素,进而获取到被点击按钮的编号,进而得到要被删除的数据行数。例如:本图统计表,点击删除小按钮,把整行信息都删除。

2025-03-25 12:12:43 629

原创 图片+文字竖向对齐小盒子(常在导航栏中使用)

导航栏flex布局思路

2025-03-03 23:06:25 749 3

空空如也

空空如也

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

TA关注的人

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