-
JavaScriptDate对象本身不混乱,混乱的是直接用它做加减、跨时区、格式化或比较——因其API隐含大量陷阱:getMonth()从0开始、setFullYear()静默溢出、ISO字符串解析在Safari等浏览器中被误当本地时间(规范定义为UTC),且跨月/跨天计算易受夏令时和日历溢出影响。
-
核心差异在于底层机制和浏览器行为触发点:createWebHistory基于HistoryAPI操作历史栈并触发服务器请求,需服务端配合;createWebHashHistory基于hash变更,不发服务器请求,兼容性更好且无需服务端配置。
-
CSS.supports()返回false的常见原因是参数格式错误,正确写法为CSS.supports('display','grid')而非CSS.supports('display:grid');实验性特性如color-mix()需启用flag才被识别;JS检测与@supports执行时机不同,不保证结果一致。
-
在JavaScript中创建链表的方法是:1.创建节点类和链表类;2.实现添加节点到末尾、在头部插入节点、删除指定位置的节点和打印链表的方法。链表的优点是动态性和灵活性,适合实现队列和栈,但访问元素需遍历全链表,内存使用不如数组高效。
-
实现提示气泡弹出动画需结合CSS透明度、位移与过渡或关键帧。1.HTML结构为div容器;2.CSS设置初始隐藏,通过transition实现opacity和transform平滑变化;3.可选@keyframes定义scale缩放增强弹出感;4.JS动态添加类触发显示,定时移除类控制隐藏,完成流畅气泡提示效果。
-
应分别设置opacity和transform的过渡。通过transition:opacity0.3sease,transform0.5scubic-bezier(0.2,0,0.1,1);独立控制两者的时间和缓动,避免动画卡顿或不同步,提升流畅性与性能。
-
异常断点是在JavaScript抛出错误时自动暂停的断点,不依赖预设行号,专用于捕获未捕获或已捕获的异常;而普通断点需手动设置在特定行,按执行顺序暂停。
-
<p>优先检查box-sizing设置:默认content-box下width仅含内容区,实际尺寸=width+padding×2+border×2;改用border-box可使width包含padding和border,推荐全局设置*{box-sizing:border-box;}。</p>
-
要让他人通过互联网访问HTML网页,需将其部署到服务器。一、虚拟主机:购买服务后通过FTP上传文件至public_html目录。二、云服务器:购买ECS后安装Apache或Nginx,将文件传至/var/www/html并启动服务。三、GitHubPages:创建username.github.io仓库并推送代码,自动发布至对应域名。四、Vercel/Netlify:关联Git仓库,选择分支与路径,一键部署并支持自定义域名和HTTPS。
-
用<map>+<area>做点击区域仅适合静态固定尺寸场景;响应式缩放会导致coords偏移,usemap="#xxx"与<mapname="xxx">必须严格配对且#不可省略,坐标基于原始图片尺寸,不支持原生响应式与无障碍访问。
-
BEM在电商项目中是“不得不选”,因其通过唯一前缀(如product-card__price)强制CSS作用域隔离,解决样式交叉污染;需重构HTML层级、禁用嵌套选择器、合理使用双横线修饰符与is-状态类,并将响应式逻辑下沉至修饰符层。
-
WebWorker不降低总CPU消耗,仅转移计算;需注意路径解析、BlobURL优化、transferlist传大数据、及时终止、分块处理长任务及importScripts同步阻塞问题。
-
可通过CSStransform属性实现页面元素反转:一、rotate(180deg)绕中心旋转;二、scale(-1,-1)全镜像翻转;三、scaleX(-1)或scaleY(-1)单向翻转;四、结合CSS变量与:hover实现交互式反转;五、用@keyframes定义3D反转动画。
-
用<table>写价格表最直接,语义清晰且原生支持响应式;需规范使用<thead><tbody>、scope属性,并通过CSS控制collapse、padding和min-width,配合overflow-x实现移动端横向滚动。
-
Bootstrap手机端分页显示不全的根本原因是小屏下未折叠处理,导致页码水平溢出;应通过媒体查询+display:none隐藏中间页码,并设置overflow-x:auto支持滑动。