-
直接双击HTML文件即可用浏览器运行,无需编译或服务器;2.可右键选择浏览器打开或在地址栏输入file:///路径访问;3.开发时推荐使用VSCodeLiveServer、Python或Node.js启动本地服务器避免跨域问题;4.部署上线可将项目上传至GitHubPages、Vercel或Netlify获得公网链接供他人访问。
-
真正可重用的函数需满足单一职责、无副作用、输入输出明确;只依赖参数、不修改入参、错误显式处理、合理使用默认参数与解构;函数式编程提升测试性、组合性、并发安全性与可调试性。
-
必须掌握操作HTML元素的五种核心方法:一、通过ID精准获取并修改单个元素;二、通过类名批量操作多个元素;三、用querySelector系列灵活选择任意CSS匹配元素;四、动态创建并插入新元素;五、安全移除或替换现有元素。
-
input在Flex中被压缩是因默认min-width:auto导致内容宽度极小,解决方法是显式设置min-width(如0、120px或配合flex:1),并建议组合flex-shrink:0或flex:11auto以确保稳定显示与交互。
-
CSS的cursor属性用于设置鼠标悬停时的指针样式,提升交互反馈;支持default、pointer、text、move、not-allowed、wait等系统值,以及url()自定义图片光标(需fallback),但IE仅支持.cur/.ani,移动端Safari不支持自定义图片。
-
前端构建工具选型需根据项目需求:Webpack适合大型项目,Vite提升开发体验,Rollup用于库打包,Parcel简化配置。
-
学JavaScript应从动手实践开始,如console.log、修改网页内容、简单交互;推荐freeCodeCamp、MDN、《EloquentJavaScript》三门入门资源;坚持每日15分钟编码,边学边做20行内微型项目,并善用LiveServer、mdn.io查文档、社区提问。
-
应改用ServiceWorker替代已废弃的HTML5manifest,因其支持按需缓存、动态策略与离线增强能力,而manifest静态声明式机制导致体积膨胀、更新失效及重复下载等问题。
-
toLocaleDateString()可自动适配本地语言和时区,比手动拼接更可靠;需校验日期有效性,支持locale和选项精细控制;固定格式首选Intl.DateTimeFormat;注意getMonth()陷阱及时区问题。
-
JavaScript压缩通过语法分析、安全替换和移除冗余减小体积并保持功能,核心是提升下载与解析速度;需结合构建工具(Webpack/Vite/esbuild)、TreeShaking、服务端Gzip/Brotli及代码拆分等策略精准优化。
-
事件捕获是事件流的第一阶段,从window向目标元素逐层下行,需显式启用capture:true;它与冒泡方向相反、时机在前,适用于全局预处理,而事件委托依赖冒泡因其天然支持子元素事件向父元素传递。
-
Node.js事件循环是其非阻塞I/O的核心机制,通过调用栈、回调队列、微任务队列和libuv的线程池协同工作,实现高效并发。它在单线程JavaScript环境中,将异步操作外包给底层系统,完成后通过事件循环调度回调执行。微任务(如Promise、process.nextTick)优先于宏任务(如setTimeout、setImmediate)执行,且process.nextTick优先级最高。事件循环分阶段运行:timers处理定时器回调,pendingcallbacks处理系统事件,poll阶段处理I
-
尾调用优化(TCO)在JavaScript中实际不可用,因V8、SpiderMonkey等主流引擎均未启用该特性,即使符合尾调用定义的递归代码仍会栈溢出。
-
reset.css的作用是抹平不同浏览器默认样式差异,通过将margin、padding等重置为统一基线(如0或inherit)提升样式可控性;现代项目更推荐normalize.css或框架内置preflight。
-
使用HTML5开发移动应用需结合PWA架构、Cordova/Capacitor封装、Ionic等框架、原生能力调用及性能优化:一、通过manifest.json、ServiceWorker实现离线与安装能力;二、用Capacitor打包为原生应用并访问设备功能;三、借助Ionic构建符合平台规范的UI与路由;四、通过Capacitor插件调用摄像头、定位等原生API;五、采用预加载、响应式图片、虚拟滚动和requestIdleCallback提升性能。