首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
前端基础-JavaScript
前端微白
创建于2025-06-21
订阅专栏
总结学习JavaScript过程中的一些基本概念
等 2 人订阅
共29篇文章
创建于2025-06-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JavaScript 究竟怎么跑
那天深夜,我把一段看上去平平无奇的订单状态更新函数丢进预生产,结果线上 CPU 一路飙红、页面直接卡死。 事后回溯,我们才意识到:看似同步几毫秒就能跑完的代码,在事件循环的显微镜下其实是一条彻底堵住主
前端的单元测试
问题场景:表单验证模块频繁出bug 系统里有个用户注册表单,包含手机号、密码强度、验证码等校验逻辑。由于多人协作,经常出现: A改了手机号校验正则,B的密码强度检测突然失效 修复一个边界case,引入
实现 `this` 对象的深拷贝:从“循环引用崩溃”到生产级解决方案
在封装一个图表组件时,遇到个棘手问题: 结果一运行就报错:Converting circular structure to JSON。 问题出在 this 对象或其属性中存在循环引用——比如 conf
GET/POST 的区别:从“为什么登录请求不能用 GET”说起
上周我在审查一个新人提交的登录接口代码时,发现他用了 GET 请求: 我问他:“如果用户在公共电脑上登录,别人能通过浏览器历史记录看到他的密码吗?” 他愣住了——这正是 GET 和 POST 最核心的
闭包:从“变量怎么还没死”到写出真正健壮的模块
重构一个用户权限系统时,遇到一个新人写的代码: 他问我:“为什么 token 变量在函数执行完后还能被访问?它不应该被销毁吗?” 这就是 JavaScript 中最强大也最让人困惑的概念——闭包(Cl
for..in 和 Object.keys 的区别:从“遍历对象属性的坑”说起
在优化一个用户数据同步模块时,遇到一个诡异问题: 输出结果让我吓一跳: “为什么多了一个 export?”——这正是 for..in 和 Object.keys() 的核心差异所在。 一、问题场景:配
箭头函数 vs 普通函数:从“this 指向混乱”到写出真正健壮的代码
一个老项目,里面有个用户权限校验模块频繁报错: 新人一脸懵:“this 怎么丢了?”——这正是 箭头函数与普通函数最核心的区别。 一、问题场景:异步回调中的 this 陷阱 我们有个后台管理系统,需要
从“祖传”构造函数到 `class`
1. 问题场景:老代码的“祖传味道” 老系统里有一个 Role 模块,负责给不同岗位分配权限。最早的实现长这样: 上线 8 年,需求不断膨胀: 需要静态方法 Role.createAdmin() 快速
前端宏(微)任务 | 从“为什么我的代码不按顺序执行”说起
之前练习一个订单支付流程,写了这样一段代码: 以为输出会是: 但实际结果却是: “Promise 怎么跑到 setTimeout 后面去了?”——这正是 JavaScript 事件循环中最容易让人困惑
setTimeout(1) 和 setTimeout(2) 的区别
在我们开发一个实时性要求较高的前端系统时,比如动画引擎、秒杀倒计时或数据流处理,经常会看到类似这样的代码: 你可能会想:“这不就是差1毫秒执行吗?”——但真相远比这复杂。今天我就结合一个高并发交易看板
如何优雅地实现每 5 秒轮询请求?
在做实时监控系统时,比如服务器状态面板、订单处理中心或物联网设备看板,每隔 5 秒自动拉取最新数据是再常见不过的需求了。 但你有没有遇到过这些问题? 页面切到后台还在疯狂发请求,浪费资源 上一次请求还
一个 ID 溢出引发的线上资损
你给某支付平台做「交易流水导出」功能。 需求很直接:把数据库里 bigint(20) 的订单 ID 渲染到表格里。 你顺手写了这么一行: 结果上线第二天,财务发现: “有笔 1.8e+17 的订单,点
一张 8K 海报差点把首屏拖垮
你给后台管理系统加了一个「企业风采」模块,运营同学一口气上传了 200 张 8K 宣传海报。首屏直接飙到 8.3 s,LCP 红得发紫。 老板一句「能不能像朋友圈那样滑到哪看到哪?」——于是你把懒加载
大对象深度对比
一、为何需要深度对比? 想象一个电商应用的商品筛选场景: 二、深度对比的五大核心挑战 循环引用:对象内部相互引用 特殊类型:Date, Set, Map等需要特殊处理 性能黑洞:嵌套层级过深导致递归爆
script 标签上有那些属性,分别作用是啥?
一、基础属性:必备技能 1. src - 脚本来源定位器 作用:指定外部JS文件路径 案例:引入第三方库 原理:浏览器会发起GET请求获取资源并执行 对比: 行内脚本 <script>console.
虚拟滚动 + 加载:让万级列表丝般顺滑
你是否曾见过这样的灾难场景:用户打开一个长列表页面,浏览器直接卡死崩溃?这就像邀请1000个人同时进电梯——DOM元素过多会导致浏览器处理能力崩溃。虚拟滚动技术就是解决这一痛点的方案。 为什么传统列表
WebSocket:断线、心跳与重连
作为现代实时应用的通信基石,WebSocket解决了传统HTTP协议的诸多痛点。本文将深入剖析WebSocket的核心机制,通过真实案例解读其实现原理和故障处理方案。 一、为何能解决断线问题? 传统H
用Promise打造智能任务队列
为何需要任务队列? 当我们面对大量异步任务时: 痛点分析: 服务器压力:瞬间100个并发请求可能压垮服务端 浏览器限制:Chrome最多允许6个同域名并发请求 资源竞争:过多任务同时执行导致内存/CP
JavaScript屏幕切换检测方案
屏幕切换检测是构建响应式应用的关键技术,尤其在多屏工作流程、展示系统等场景至关重要。本文将深入讲解3种实用的屏幕切换检测方案。 一、屏幕切换检测的核心需求 多显示器切换:用户窗口在不同物理屏幕间移动
JavaScript压缩原理与手写实现
一、为什么需要压缩JavaScript? 在深入原理前,先理解压缩的实际价值: 体积减少:大尺寸脚本显著增加加载时间(1M宽带加载1MB JS需8秒) 网络优化:减少传输数据量,节省带宽成本 代码保护
下一页