-
JavaScript内存泄漏是悄无声息地耗尽内存,表现为Chrome中JavaScriptMemory持续上涨直至卡死;主因包括未配对removeEventListener、未清除setInterval、闭包长期持有大对象,需主动解绑、清理和断引用。
-
解决浮动导致父容器高度塌陷的核心方法有三:一是浮动后加clear:both空标签,兼容性好但语义弱;二是父容器设overflow:hidden触发BFC,简洁但可能裁剪溢出内容;三是伪元素clearfix法,兼顾语义、兼容与维护性,为现代项目首选。
-
transform旋转必须带单位,如rotate(45deg);多函数需同写一行且顺序影响结果;scale默认以中心为原点,可由transform-origin调整;translate性能优于top/left,但不可混用;复合变换须整体重写或设为none。
-
首先更改系统默认浏览器,进入设置选择默认应用,将Web浏览器改为所需浏览器;或通过文件右键“打开方式”选择目标浏览器并设为默认;也可在VSCode等编辑器中安装“OpeninBrowser”扩展,通过命令面板设定默认浏览器;此外,使用本地服务器工具时可在启动命令中指定浏览器名称或在插件设置中填写可执行文件名,实现强制用特定浏览器打开HTML文件。
-
JavaScript事件循环先执行一个宏任务,再清空全部微任务队列,然后渲染,再取下一个宏任务;微任务如Promise.then总在当前宏任务后立即执行,而setTimeout等宏任务需等待下一轮。
-
JavaScript类型判断需组合使用:先用typeof区分6种原始类型(null除外),再用===null单独处理,其余统一用Object.prototype.toString.call()获取内部标签;跨iframe时instanceof失效,应优先用Array.isArray()等专用方法。
-
粘性定位不生效最常见原因是父容器未设置overflow或触发了层叠上下文;需同时满足:元素设position:sticky及top值、父容器有滚动上下文且未创建新层叠上下文。
-
编译器基本流程包括词法分析、语法分析和代码生成;2.通过设计简单语言如add(2,multiply(3,4)),可构建将其转为JavaScript的微型编译器;3.词法分析阶段Tokenizer将输入字符串分解为标识符、数字、括号等token数组。
-
使用Atom运行HTML文件夹可通过三种方法:1.安装atom-live-server插件并启动实时预览;2.用Python命令启动本地服务器,在浏览器访问localhost:8000查看;3.直接在浏览器中打开HTML文件进行静态预览。
-
JavaScript跨域通信的核心方法是postMessage,它安全、标准、兼容IE8+,适用于iframe、弹窗、WebWorker等双向实时通信场景;其他方式如CORS、JSONP主要用于单向数据请求。
-
JavaScript是唯一浏览器原生支持的编程语言,覆盖前端交互、全栈开发、跨平台应用;依托Node.js、npm生态、主流框架及工程化工具链,成为Web开发最务实的选择。
-
顶部固定、底部自适应布局需用Flexbox或Grid实现,line-height仅控制行内文本间距,无法撑满剩余高度。推荐父容器设display:flex;flex-direction:column;,顶部/底部flex-shrink:0,中间flex:1。
-
微博HTML5网页版(m.weibo.cn)无删除收藏入口且不支持批量删除,官方刻意限制;PC端(weibo.com)仅支持单条取消收藏;第三方工具或脚本基本失效或存账号风险;App端同样不提供批量删除功能。
-
优先使用<link>标签引入第三方UI库样式,因其能并行加载、提升渲染速度,并支持预加载;而@import会阻塞加载且需置于CSS开头,仅适合构建时的样式整合。
-
JavaScript无法直接读写本地文件系统,需通过FileAPI在用户主动选择文件后读取内容、获取元信息或配合BlobURL实现预览下载;核心是用户触发与浏览器沙箱内处理。