自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林恒的博客

分享一些学习笔记,记录开发过程中的问答解决方法

  • 博客(764)
  • 资源 (8)
  • 收藏
  • 关注

原创 记录-VUE中常用的4种高级方法

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助1. provide/injectprovide/inject 是 Vue.js 中用于跨组件传递数据的一种高级技术,它可以将数据注入到一个组件中,然后让它的所有子孙组件都可以访问到这个数据。通常情况下,我们在父组件中使用 provide 来提供数据,然后在子孙组件中使用 inject 来注入这个数据。使用 provide/i...

2023-05-06 17:57:00 1089

原创 uni-app开发经验分享十四:小程序超过2M限制的方法——分包加载

起初小程序上线时,微信限制了代码包不能超过1MB,后来功能变大变成了2M了,限制大小是出于对小程序启动速度的考虑,希望用户在使用任何一款小程序时,都能获得一种“秒开”体验。但是,2MB也限制了小程序功能的扩展,小程序业务的发展可能需要更大的体积。为了解决这个问题,微信推出了—分包加载。小程序分包加载对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解...

2020-12-08 20:11:00 719 2

原创 uni-app开发经验分享一: 多页面传值的三种解决方法

开发了一年的uni-app,在这里总结一些uni-app开发中的问题,提供几个解决方法,分享给大家:问题描述:一个主页面,需要联通一到两个子页面,子页面传值到主页面,主页面更新问题难点:首先我们需要一个逻辑模型(这里随便画了一个)通过这个模型,我们可以看到一个问题,子页面的内容怎么传回主页面,怎么让这个传回的方式更安全有效,这也是这个问题的难点,我总结了三种解决方法,在这里分...

2020-09-17 11:54:00 463

原创 网页添加 Live2D 看板娘

参考并转载于https://www.fghrsh.net/post/123.html个人网站添加Live2D 看板娘的方法:在页面中加入以下代码(已经全部处理完,可以根据需求适当修改):<!DOCTYPE html><html><head> <title>Live2D 看板娘 测试dome</title&gt...

2020-09-11 09:46:00 2077

原创 仅用一个技巧,让 JavaScript 性能提速 500%!

做Node.js后端的开发者,多半都经历过这种绝望时刻:业务系统跑的好好的,突然接了个CPU密集型需求——比如复杂的ID转换、加密运算,结果Node.js单线程直接卡死,Event Loop被彻底堵塞,接口响应时间从20ms飙升到2s,甚至整个服务直接假死。这时候通常会听到两种声音:运维说“加机器!扩容!”(纯烧钱);架构师说“Node.js不行,用Go/Java重写吧”(太费人)。但其实还有更“极客”的选择——“借刀杀人”:不改动Node.js整体架构,只把那1%拖慢性能的CPU密集型“烂代码”抽出来

2026-05-11 09:42:18 198

原创 为什么你的 0.01 秒倒计时看起来一卡一卡的?

摘要: 本文介绍如何用requestAnimationFrame替代setInterval实现高精度倒计时,解决传统方案的时间漂移问题。setInterval因浏览器节流和标签页休眠会导致计时不准,而requestAnimationFrame基于屏幕刷新率自动适配,提供毫秒级精度。核心思路是通过时间差计算剩余时长,而非累加间隔。文章提供了Vue Hook实现,支持暂停、重置和回调,并优化了后台标签页时间补偿与渲染性能。进阶技巧包括减少渲染频率、数字跳动动画等,确保倒计时流畅精准。

2026-05-09 16:10:04 168

原创 不是有video标签吗?为什么还需要视频播放器?

HTML5原生<video>标签虽然提供了基本视频播放功能,但在实际开发中常需借助Video.js等播放器库,原因包括:浏览器对视频格式和流媒体协议支持不一致(如HLS、DASH)、原生UI体验差且无法自定义、缺乏多清晰度切换、字幕管理等高级功能。播放器库通过封装兼容性解决方案、提供可定制界面和扩展功能(如广告插入、DRM支持),弥补了原生标签的不足。当仅需播放简单MP4视频且无复杂需求时,可直接使用<video>;而专业视频场景则需要播放器库构建更完善的播放体验。

2026-05-08 10:41:20 183

原创 16 个前端冷知识:用一次就忘不掉的那种

前端开发中的18个实用冷知识 本文整理了前端开发中容易被忽略但非常实用的技巧,涵盖CSS、JavaScript和性能优化等方面: :hover伪类可用于任意元素 箭头函数没有自己的this绑定 使用~~或|0快速取整 dataset操作自定义数据属性更高效 navigator.onLine检测网络状态 contenteditable实现可编辑元素 currentScript获取当前执行的script标签 passive事件优化滚动性能 clamp()实现响应式字体 in操作符检查对象属性 Array.fro

2026-05-07 13:37:59 342

原创 前端如何实现“无感刷新”Token?90% 的人都做错了

摘要: 本文探讨了如何实现无感刷新Token机制,避免用户因Token过期频繁重新登录。作者指出常见错误做法(如全局拦截401直接刷新或手动判断401)存在并发请求雪崩、安全风险等问题,并提出正确解决方案: 后端配合:Refresh Token存HttpOnly Cookie,防止XSS攻击 前端优化:通过单例刷新锁+请求队列控制并发,确保仅刷新一次 安全存储:Access Token存内存而非localStorage 容错机制:刷新失败时清空身份并跳转登录 关键设计包括请求队列管理、错误处理和Token存

2026-05-06 11:04:43 324

原创 JavaScript 的25个高级特性

摘要: 本文整理了25个JavaScript冷门但实用的高级特性,涵盖语法技巧、性能优化和开发技巧。包括标签循环(Labelled Statements)、逗号运算符、标签模板、块级函数、位运算加速数学操作、void运算符、with语句(不推荐)、自动分号插入(ASI)、in运算符检查属性、instanceof与typeof对比、debugger调试、eval动态执行、非标准__proto__、链式赋值、对象属性简写、解构默认参数、Array.fill()初始化、includes()替代indexOf、解构

2026-04-30 11:40:57 354

原创 宇宙画布:纯 CSS+JS 实现交互式深空艺术

摘要 这个纯CSS+JS实现的交互式深空场景项目,通过前端技术创造出绚丽的宇宙视觉效果。项目包含1000颗随机闪烁的星星、50个彩色星系、中心旋转行星系统(带光环和3颗卫星)、流星划痕和小行星带等元素,全部由CSS绘制而成。核心技术包括:CSS @keyframes实现动画、渐变打造星球质感、transform实现3D效果、JS动态生成元素。HTML结构简洁,CSS负责所有视觉呈现,JS处理动态交互。项目亮点在于纯前端实现、无图片依赖、加载快速,可作为创意前端开发的优秀范例,也可二次开发打造个性化星空效果。

2026-04-29 10:49:04 418

原创 CSS 滚动驱动动画(scroll-timeline):无 JS 实现滚动特效

摘要: CSS滚动驱动动画(scroll-timeline)提供了一种无需JavaScript实现滚动动画的新方案。通过scroll()和view()函数,可将动画进度与滚动位置或元素视口状态绑定,支持进度条、淡入效果、视差滚动等常见场景。文章详细介绍了基础语法、参数配置、实战案例(包含4个典型应用),并讲解了animation-range控制动画阶段、组合使用技巧、浏览器兼容性及性能优化建议(优先使用transform/opacity,配合will-change)。目前该特性在Chrome/Edge支持良

2026-04-28 14:15:13 199

原创 前端大文件上传的另一种提速思路

摘要: 本文探讨了通过多域名策略提升HTTP/2大文件上传效率的方法。传统方案受限于HTTP/1.1的6并发连接或HTTP/2的单连接复用,作者提出通过多域名分配请求,强制浏览器建立多条TCP连接,实现物理层并行传输。实验显示,1.5G文件上传耗时从3.58秒降至2.44秒,速度提升46%。关键点包括: 配置多域名与SSL证书 后端支持跨域请求 前端动态调度分片至不同域名 验证了多域名策略可突破HTTP/2单连接限制,显著提升吞吐量(616MB/s vs 420MB/s)。附开源代码供验证。

2026-04-27 11:16:19 230

原创 CSS终于支持渐变色的过渡了[特殊字符]

CSS渐变色过渡新方案:@property规则解析 本文介绍了使用CSS @property规则实现渐变色平滑过渡的创新方法。传统方案如遮罩层、background-position调整和滤镜效果都存在明显局限,而@property通过自定义CSS属性完美解决了这一问题。文章详细展示了@property的语法结构,包括syntax、inherits和initial-value等关键描述符的使用方法,并提供了完整的代码示例。这种方案不仅简化了实现过程,还能创建更自然的过渡效果。虽然目前仍属实验性功能,但主流浏

2026-04-24 10:59:11 430

原创 同域名、同项目、仅 hash 变化,window.location.href 不跳转

摘要: 浏览器仅将URL中#前的部分视为页面标识,#后(hash)的变化不会触发页面刷新,导致window.location.href跳转失效。解决方案包括: 强制刷新:window.location.reload(); Vue Router:this.$router.push(); 直接修改hash:window.location.hash = newHash(推荐,保留历史记录); 终极方案:先清空hash再赋值(setTimeout异步触发)。其他方法如history.pushState或iframe

2026-04-23 14:58:42 346

原创 Three.js实现更真实的3D地球[特殊字符]动态昼夜交替

摘要: 本文记录了开发者通过Three.js实现3D动态地球壁纸的技术探索。从偶然发现精美地球壁纸的灵感出发,作者详细介绍了如何构建一个包含地球、太阳、月球和星空背景的宇宙场景。关键步骤包括:使用ShaderMaterial实现地球昼夜交替的光影效果,通过法线贴图增强立体感,巧妙利用太阳位置模拟晨昏线过渡,并加入月球轨道动画。文章重点分享了着色器编程中的光影计算技巧,以及如何用数学公式模拟天体运行规律。整个项目展现了前端开发将视觉艺术转化为代码实现的创造力,让读者感受到编程不仅是技术,更是一种表达美的方式。

2026-04-22 11:28:49 433

原创 微信H5 页面定位权限处理

微信H5定位权限问题解决方案 当H5页面通过微信调用定位时,若用户首次拒绝授权,后续无法再次触发授权弹窗。解决方案如下: 首次请求:系统弹出授权弹窗,用户可选择允许一次、使用App时允许或拒绝。 已授权:直接返回坐标,无弹窗。 已拒绝:无法自动重新弹窗,需引导用户手动开启权限(手机设置→微信→位置)。 代码处理:失败时提示用户手动开启权限,并提供重试按钮。 注意:定位失败不应阻断应用,需根据业务需求决定是否降级处理。

2026-04-21 10:55:55 214

原创 用 Intersection Observer 打造丝滑的级联滚动动画

摘要: 本文介绍了一种仅使用原生Web API实现滚动触发式淡入滑入动画的方案。通过Intersection Observer监听元素位置,结合CSS动画和少量JavaScript,实现高性能、可访问的级联动画效果。关键点包括:1) 通过CSS变量控制动画延迟;2) 尊重用户偏好设置(prefers-reduced-motion);3) 使用rootMargin优化触发时机。相比传统scroll事件,该方案更高效且不依赖第三方库,适合需要轻量级交互动效的场景。

2026-04-20 10:21:08 345

原创 uni.request 二次封装分享

文章摘要:本文介绍了一个功能完善的网络请求封装方案,包含请求拦截、响应处理、缓存控制等核心功能。代码实现了请求头自动配置、参数处理、错误统一提示、接口缓存等功能,并提供加载状态管理。通过拦截器机制处理授权、参数序列化等通用逻辑,封装了toast提示组件,支持长文本自动切换弹窗模式。示例展示了如何调用封装后的请求方法获取用户列表数据。该方案适用于uni-app等前端框架,可有效提升开发效率和代码复用性。(149字)

2026-04-17 11:26:54 37

原创 前端 PDF 导出:从文件流下载到自动分页

PDF生成与下载方案总结 本文介绍了多种PDF处理方案: 后端返回URL:可通过window.open或推荐使用a标签download属性实现下载 后端返回文件流:需通过Blob转换并创建临时URL进行下载 前端生成PDF: 使用window.print()调用浏览器打印功能(有局限性) 结合html2canvas-pro和jsPDF实现高质量转换(推荐方案) 提供自动分页处理代码,防止元素被截断 CSS控制:通过@media print优化打印样式 文中包含完整的代码实现,适用于95%的业务场景。

2026-04-16 13:52:06 338

原创 前端实现带滚动区域的 DOM 长截图导出

长截图解决方案:使用@snapdom导出完整DOM内容 开发中常需将带滚动条的DOM内容导出为图片,传统方案仅能截取可视区域且易出现样式错乱。本文推荐使用第三方库@zumer/snapdom,通过模拟浏览器渲染引擎,将指定DOM节点(包括滚动隐藏内容)完整转换为Canvas,实现高保真长截图导出。 实现步骤: 隔离目标DOM结构并绑定contentRef 调用snapdom.toCanvas()自动计算完整尺寸并渲染 将Canvas转为Data URL触发下载 优势: ✅ 完整导出滚动内容 ✅ 精准复刻样式

2026-04-15 11:39:42 211

原创 先免费试用下Claude code安装使用(教程)

摘要: 本文介绍了Claude Code终端AI编程工具的安装与配置方法。首先需安装Node.js(18.0+版本),然后通过npm安装Claude Code并配置阿里云百炼大模型(赠送百万token)。详细说明了环境变量设置、模型选择等步骤,并展示了基础功能测试效果(网页生成案例消耗41% token)。文章还列举了其他可用大模型平台,分享使用感受:安装便捷但效果依赖模型能力,适合开发者自然语言编程。最后提供基础指令说明和注意事项(建议开启额度提醒)。

2026-04-14 14:49:18 433

原创 JS-前端埋点神器 navigator.sendBeacon 全指南

文章摘要: 本文探讨了前端埋点系统中用户关闭页面时发送统计数据的解决方案。传统同步XHR方案会阻塞页面卸载,影响用户体验且面临浏览器废弃风险。推荐使用navigator.sendBeacon(),它能异步可靠地发送数据,不阻塞页面跳转,支持多种数据类型(如JSON、FormData)。针对跨域场景,可采用1px像素图片方案绕过CORS限制。文章对比了不同方案的优劣,并指出sendBeacon的局限性(如仅支持POST、无法读取响应)。最后提供了面试常见问题的参考回答,强调降级策略的重要性。 (字数:150)

2026-04-13 10:59:40 410

原创 Vue<前端页面版本检测>

摘要: 本文介绍了前端版本检测的实现方案,解决浏览器缓存导致的旧版本问题。通过构建时生成唯一版本标识(如时间戳),部署version.json文件,客户端定时轮询对比版本号,不一致时弹出更新提醒。技术实现包括:1)构建脚本自动生成版本文件;2)修改打包命令集成版本生成;3)配置构建流程复制版本文件;4)开发检测工具类,支持生产环境轮询、版本对比及用户通知。最终实现无感知版本更新,确保功能一致性和用户体验。 (字数:149)

2026-04-10 10:23:47 240

原创 为什么禁止我请求别的网站的接口?——跨域与CORS _

跨域与CORS机制解析 浏览器的同源策略(Same-Origin Policy)限制跨域请求,要求协议、域名、端口完全一致,否则会触发安全拦截。CORS(跨域资源共享)是解决此问题的标准方案,通过服务器响应头(如Access-Control-Allow-Origin)声明允许的请求源。 关键点: 简单请求:直接发送请求,服务器返回许可头即可。 预检请求(OPTIONS):非简单请求需先发送预检请求,验证通过后再发实际请求。 解决方案:包括JSONP(已淘汰)、代理服务器、开发工具代理(如Webpack/Vi

2026-04-09 12:30:08 365

原创 老板:能不能别手动复制路由了?我:写个脚本自动扫描

摘要: 文章分享了一个前端权限配置的优化方案。通过Node脚本自动扫描项目中的Vue文件,生成路由映射表,解决手动输入路径易出错的问题。实现步骤包括:递归扫描views目录生成文件列表,构建路由映射关系,并在权限配置页面通过下拉选择框展示所有可用页面。该方案降低了配置错误率,支持搜索功能,且能自动同步新增页面。最后将生成脚本集成到项目启动流程中,并建议忽略自动生成的文件。这个简单有效的方案提升了运营配置权限的效率和准确性,已推广到其他项目使用。

2026-04-08 13:05:04 236

原创 vue3这些常见指令你封装了吗

本文介绍了Vue3中常见指令的封装方法,主要包括复制指令和水印指令的实现。复制指令通过Clipboard API实现文本复制功能,并提供了兼容性降级方案;水印指令利用Canvas生成重复背景水印,支持自定义文本、颜色、大小等参数。文章详细展示了指令的编写、注册和使用方式,包括如何在主模块中统一管理指令,以及如何在组件中应用这些指令。这些封装提高了代码复用性,为Vue3项目开发提供了实用的指令解决方案。

2026-04-07 10:51:59 43

原创 前端大屏适配方案:rem、vw/vh、scale 到底选哪个?

文章摘要: 本文探讨大屏适配的四种方案:1)scale缩放:简单快捷但存在字体模糊、坐标偏移问题,适合固定比例展示;2)vw/vh视口单位:流式适配无留白,但需处理ECharts兼容性;3)rem方案:移动端经典但大屏场景性价比低;4)混合方案(推荐):布局层用vw/vh铺满,组件内灵活使用rem/px,结合clamp()弹性布局。作者指出scale适合紧急项目,混合方案兼顾灵活性与适配性,并提供了核心代码与架构设计示例。

2026-04-03 13:33:49 433

原创 前端实现进度条

摘要: 本文介绍了如何在前端实现进度条功能,用于处理后端长时间数据处理时的用户体验优化。通过全局样式设置进度条遮罩层,使用定时器模拟进度增长至95%,待接口返回后完成剩余进度至100%。关键点包括:1)通过observable管理进度状态;2)startProgressIncrement方法实现自动进度增长;3)completeProgress方法确保进度条平滑完成。该方案能有效缓解用户等待焦虑,特别适用于耗时较长的后端任务场景。(149字)

2026-04-02 11:58:59 114

原创 uni-app使用瓦片实现离线地图的两种方案

摘要: 本文分享了在uni-app中实现安卓端离线地图的两种方案:web-view和renderjs。方案一通过web-view加载静态HTML文件引入leafletjs地图,方案二利用renderjs在视图层直接操作DOM。两种方案均需将leafletjs和瓦片地图文件放入static目录,但需注意路径引用差异(@/static与static/)。实践发现,常规script在真机因逻辑层限制会导致白屏,而renderjs可解决此问题。最终指出瓦片地图体积过大(超60MB)会导致App包膨胀,且两种方案性能

2026-04-01 12:28:54 172

原创 为什么全国人民都能秒开同一个视频?

CDN原理与作用解析 CDN(内容分发网络)通过分布式节点缓存内容,实现用户就近访问,显著提升网络响应速度。其核心机制包括:1)DNS智能解析返回最近节点IP;2)边缘节点缓存内容,命中时直接响应;3)缓存失效时回源获取最新数据。CDN优势在于降低延迟(物理距离近)、减轻源站压力、提升用户体验,同时具备边缘计算、安全防护等扩展能力。典型应用场景包括视频点播、网页加速等需要快速分发内容的服务。选择CDN需考虑节点覆盖、性能指标及合规要求等因素。

2026-03-31 13:44:08 346

原创 0.1加0.2为什么不等于0.3

摘要: JavaScript中0.1 + 0.2 !== 0.3的问题源于二进制浮点数精度限制。由于0.1、0.2等十进制小数在二进制中是无限循环数,而计算机存储时会截断,导致计算误差。解决方案包括: 容差比较:使用Number.EPSILON允许微小误差; 整数转换:先转为整数运算再还原; 四舍五入:通过toFixed控制小数位; 高精度库:如decimal.js处理金融计算。 面试时可解释为IEEE 754标准下二进制存储的固有缺陷,并举例说明解决方案。

2026-03-30 12:59:43 344

原创 前端发版后页面白屏?一套解决用户停留旧页面问题的完整方案

摘要: SPA应用发布新版本后,用户停留在旧页面可能导致路由跳转失败、懒加载报错甚至白屏。问题根源在于版本切换时旧资源失效或地址不匹配。解决方案需从三方面入手: 版本检测机制:定时对比HTML中的版本号,发现更新后提示用户刷新。 异常兜底:全局监听chunk加载失败错误(如Loading chunk failed),自动刷新一次恢复页面,避免无限重试。 缓存优化:入口文件(index.html)禁用强缓存,带哈希的静态资源长期缓存。 核心建议优先实现chunk加载失败的自动恢复,快速止血白屏问题。完整方案可

2026-03-27 16:09:35 333

原创 关于地图渲染加20w数据展示和地图动画怎么做

摘要: 本文分享了ECharts地图渲染12万+设备数据的性能优化方案。通过分层策略(低/中/高缩放级别采用不同抽样率和精度)、动态动画调度系统(帧率控制、批量处理)和智能显示判断(去重抽样),成功解决大数据量下的卡顿问题,实现60fps流畅动画。包含完整代码实现和配置参数,适用于类似大规模数据可视化场景。

2026-03-26 15:58:19 191

原创 面试一问就给我整不会了[特殊字符]如何跨标签页通信

跨标签页通信方案全解析 本文系统介绍了9种实现浏览器跨标签页通信的技术方案: BroadCast Channel - 类似对讲机的频道通信 Service Worker - 通过后台线程传递消息 LocalStorage - 利用storage事件监听变化 Shared Worker - 共享线程实现多页通信 轮询方案 - 定时检查IndexedDB/Cookie window.open - 父子窗口间直接通信 WebSocket - 通过服务器中转消息 SharedArrayBuffer - 高级共享内存

2026-03-25 21:09:42 166

原创 JavaScript this绑定规则:告别踩坑指南!

摘要 JavaScript中的this是一个动态绑定的关键字,其指向取决于调用方式而非定义位置。核心作用是通过隐式传递对象引用简化代码。this有5种绑定规则:默认绑定(独立调用时指向window)、隐式绑定(对象调用时指向该对象)、隐式丢失(函数引用赋值时意外指向window)、显式绑定(通过call/apply/bind手动控制指向)和new绑定(构造函数中指向实例)。此外,箭头函数没有自己的this,会继承外层函数的this绑定。掌握这些规则能有效避免this相关的常见错误。

2026-03-24 17:35:20 350

原创 前端如何防止用户重复提交表单?4 种可靠方案(附防坑指南)

防止重复提交的4种方案 重复提交可能导致数据重复或业务异常,仅靠前端禁用按钮远远不够。本文推荐4种方案: 1️⃣ 禁用按钮:基础方案,但易被绕过(如刷新页面或脚本请求)。 2️⃣ 防重Token:后端生成一次性Token,提交时校验,确保唯一性(企业级推荐)。 3️⃣ 请求去重:通过“请求指纹”拦截重复API调用(如领取优惠券场景)。 4️⃣ 全局拦截:结合状态管理或Axios拦截器统一管控提交状态(适合SPA)。 关键点:前端优化体验,后端必须校验,分层防御最可靠!

2026-03-23 14:58:15 218

原创 HTML 早已不是标签了,它现在是系统级接口:这 9 个 API 直接干翻常用 JS 库

现代Web开发:原生HTML API的高效应用 本文介绍了9个原生HTML API在现代Web开发中的高效应用场景,替代传统JS库实现功能,提升性能和开发效率: Popover API:零JS实现浮层顶层化,自动处理层级与关闭逻辑。 Dialog API:模态对话框内置遮罩,简化交互流程。 Speculation Rules API:预渲染页面,实现0ms跳转。 View Transitions API:平滑动画过渡,优化用户体验。 WebAssembly:与JS零拷贝交互,提升计算密集型任务性能。 Web

2026-03-20 16:29:40 341

原创 字体与打印:前端开发最常见的三个“为什么”

前端打印问题解析与解决方案 摘要: 前端开发中常见的打印问题包括字体替换、字号失控和图标消失。这些问题源于浏览器打印机制与屏幕渲染的差异:字体受嵌入权限限制,字号因单位换算不统一,图标字体因Unicode私有区特性易丢失。解决方案包括使用@font-face加载可嵌入字体、采用印刷物理单位(pt/mm)定义字号,以及替换图标字体为SVG或标准Unicode符号。理解这些技术原理可帮助开发者快速定位问题,而非盲目调试。(149字)

2026-03-19 14:14:18 357

原创 90%前端面试必问的12个JS核心,搞懂这些直接起飞!

摘要: 本文整理了12个JavaScript核心概念,涵盖变量作用域、闭包、原型继承、异步编程等高频考点。通过代码示例解析了var与let的区别、闭包应用、Promise实现原理、事件循环机制等核心知识,并介绍了ES6+新特性、函数式编程和模块化系统等现代JavaScript开发必备技能。这些内容不仅能帮助开发者应对面试,更能提升代码质量和开发效率。

2026-03-18 11:02:44 218

前端面试题:常用算法.pdf

整理的前端面试常用算法

2021-01-30

96道web前端面试题.pdf

整理的web前端面试题

2021-01-30

日期控件-多选.rar

按照提示使用,可以实现多选日期

2021-01-30

HTML+JS+CSS实现魔塔50层demo

HTML+JS+CSS实现魔塔50层demo

2021-05-05

HTML+JS实现贪吃蛇demo

HTML+JS实现贪吃蛇demo

2021-05-07

HTML+JS实现2048小游戏demo

HTML+JS实现2048小游戏demo

2021-05-05

JS+HTML实现炸弹人小游戏demo

JS+HTML实现炸弹人小游戏demo

2021-05-05

图片批量命名工具.zip

可以使用来进行文件统一命名,规律命名等功能的命名工具

2021-01-30

空空如也

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

TA关注的人

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