首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
365天前端知识体系构建计划:从入门到架构师的完整进阶之路
kyriewen
创建于2026-03-10
订阅专栏
希望你能跟随这个计划,每天进步一点点,一年后蜕变为能够独当一面的前端架构师。如果你有任何建议或想要深入探讨的话题,欢迎在评论区留言,我们一起完善这个知识图谱。
等 16 人订阅
共75篇文章
创建于2026-03-10
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
你的网站被“下毒”了?XSS和CSRF:前端安全的两大“毒瘤”
前言 想象一下,你开了个奶茶店。XSS就是有人在你店里的菜单上贴了一张纸:“凭此券免费喝奶茶”,然后顾客都来找你要免费奶茶。CSRF则是有人冒充你,对供应商说:“老板说再进1000箱珍珠!”结果你莫名
你的代码把内存吃光了?V8引擎的“垃圾清理工”有话说
前言 想象你有一个房间(内存)。你不断往里面搬家具(创建对象),但从来不扔(忘记释放)。慢慢的,房间堆满杂物,连门都开不了。这时候你需要一个清洁工,定期把没用的东西清走。 在JavaScript里,这
重排、重绘、合成:浏览器渲染的“三兄弟”,你惹不起也躲不过
前言 想象一下,你家客厅要重新装修。你只是换了个抱枕(重绘),很轻松。但如果你要把墙拆了(重排),那得搬家具、砸墙、重新粉刷,累得半死。如果只是把电视画面换个图层(合成),连工人都不要,遥控器一按就行
从输入URL到页面显示:这中间到底发生了什么?一场“互联网快递”的奇幻漂流
前言 想象一下,你在网上下单了一个“网页快递”。你填好地址(URL),点击“下单”(回车)。然后,这个订单就开始了它的奇幻漂流:先去DNS“查号台”问路,再去服务器“仓库”取货,中间可能还要过“安检”
装饰器:那个在代码里“贴标签”的黑魔法,到底有什么用?
前言 想象你去餐厅吃饭,你在菜单上贴了个标签“@少油”,厨房看到后自动给你少放油。你又贴个“@加辣”,厨房又自动加辣。你只需要贴标签,厨房负责执行。 这就是装饰器。它是一种特殊的声明,可以附加在类、方
泛型:像“填空”一样写类型,让你的代码从“复制粘贴”中解放
前言 想象一下,你开了一家“万能快递公司”。客户要寄书,你准备书盒;要寄衣服,你准备衣服盒;要寄手机,你准备手机盒……每种物品都要单独设计盒子,累不累? 更好的做法:设计一种可调节大小的盒子,客户说寄
你的JS代码总在半夜崩溃?TypeScript来“上保险”了
前言 JavaScript就像个自由散漫的天才:你给它一个字符串,它当数字用;你忘记传参数,它给你个undefined;你访问对象不存在的属性,它笑眯眯地说“没事,我给你undefined”。这种灵活
Vite:比Webpack快100倍的“闪电侠”,原理竟然这么简单?
前言 Webpack就像个勤劳的蚂蚁,把整个项目一点点搬完再给你看结果。Vite则像个聪明的快递员:你点什么,它送什么,绝不提前扛一堆货。 Vite(法语“快”)是尤雨溪推出的构建工具,开发服务器启动
从“龟速打包”到“秒开体验”:Webpack优化你只需要这6招
前言 Webpack就像个勤劳的搬运工,但如果你不告诉它“哪些不用搬”、“怎么抄近道”,它会把你整个项目连同node_modules一起扛上,慢得像蜗牛。今天我们就来调教这个搬运工,让打包速度飞起,让
Webpack的Loader和Plugin:你以为只是配置?其实是“流水线工人”和“包工头”
你配置过Webpack吗?是不是照着文档写了几行`rules`和`plugins`,然后它就神奇地把代码打包好了?今天我们不背配置,直接钻进Webpack的肚子里,看看Loader和Plugin到底在
你点的“刷新”是假刷新?前端路由的瞒天过海术
前言 你有没有注意过,现在很多网站(比如知乎、B站、Github)点开一个新页面,地址栏变了,但页面没有那种“白屏-加载-闪现”的过程,而是瞬间切换内容。这就像你走进一家餐厅,菜单上写着“换桌”,你以
本地存储全家桶:从localStorage到IndexedDB,把数据塞进用户浏览器
前言 想象一下,你每次去网吧上网,都要重新登录所有账号、重新设置主题、重新添加购物车——是不是想砸电脑?还好,浏览器有“记忆功能”。它能在你的电脑里存点东西,下次再来时直接拿出来用。 这个“记忆功能”
MutationObserver:DOM界的“卧底”,暗中观察每个风吹草动
前言 假设你开了一家便利店,店里装了监控。你想知道:什么时候有人进来?什么时候货架上的商品被拿走了?什么时候价格标签被换了?普通的监控只能录像,但你需要的是“智能警报”——一有变化就通知你。 这就是M
自定义事件:让代码之间也能“悄悄对话”
前言 想象一下,你是个指挥官,手下有侦察兵、炮兵、步兵。侦察兵发现敌情后,不能直接喊“开炮”,否则太乱。他需要一种机制——比如举起红旗——让炮兵看到红旗就开火,步兵看到红旗就隐蔽。这个“红旗”,就是自
事件流与事件委托:当点击按钮时,浏览器里发生了什么?
前言 想象一下,你点了一个按钮。这个按钮在一个卡片里,卡片在一个列表里,列表在一个页面里。那么问题来了:是按钮自己“听到”了点击,还是卡片先听到,还是页面先听到? 浏览器其实有一套严格的“传话”机制:
DOM树与节点操作:用JS给网页“动手术”
前言 你有没有想过,当你用document.getElementById拿到一个元素,然后改它的文字、换它的颜色时,背后发生了什么? 其实,浏览器把HTML解析成了一棵“树”,每个标签、属性、文本都是
for...of 的秘密:迭代器与可迭代对象,你也能创造“可循环”的东西
前言 你有没有好奇过,为什么数组可以用for...of遍历,而对象不行?为什么...扩展运算符可以展开数组,却不能直接展开对象?这背后其实是迭代器协议在起作用。 今天我们就来彻底搞懂这套机制,然后亲手
Generator 函数:那个能“暂停”的函数,到底有什么用?
前言 普通函数就像一支穿云箭,发射出去就直奔终点,中间绝不回头。但有时候我们需要更灵活的控制:比如我要分几步做一件事,每一步之间可能隔着十万八千里,或者我想让调用方决定什么时候继续。 Generato
手写 Promise:从“我会用”到“我会造”
前言 你有没有想过,Promise这个“承诺”到底是怎么实现的?为什么它能链式调用?为什么错误会冒泡?为什么then里的回调可以返回普通值,也可以返回Promise? 就像开惯了自动挡的人,突然想知道
事件循环:JS 的“外卖调度系统”大揭秘
前言 还记得昨天我们说的异步吗?JS把耗时任务丢给浏览器去干,自己继续往下跑。但问题是:异步任务完成后,回调函数是怎么被调用的?谁来决定先执行哪个回调? 这就要说到今天的主角——事件循环
下一页