-
Map和Set是ES6引入的原生数据结构:Map用于任意类型键的有序键值对映射,支持get/set/has等方法和size属性;Set用于唯一值的有序集合,基于SameValueZero去重,适合存在性判断。
-
绝对定位元素的left/top值未生效,是因为其偏移参考点是最近的已定位祖先元素(position为relative/absolute/fixed/sticky),而非body或viewport;若无已定位祖先,则默认参照<html>,易导致错位或“消失”。
-
img默认display值为inline,属替换元素,按行内规则布局,因基线对齐和空白字符易产生间隙;可通过vertical-align、flex、block等方式优化。
-
absolute定位弹出框需设直接父容器为relative,否则基准为视口导致错位;relative不改变布局但提供定位上下文;top/left/right/bottom组合决定锚点位置。
-
在JavaScript对象字面量中,频繁使用this访问自身方法会降低代码可读性;可通过解构+bind(this)的方式将方法绑定到局部变量,从而实现无this.前缀的简洁调用。
-
提交按钮用于发送表单数据,常用inputtype="submit"或buttontype="submit"创建,点击后浏览器收集有name属性的字段,按method提交至action指定地址,需注意name属性设置、避免重复提交及使用JavaScript验证。
-
WeakMap和Map的核心区别在于引用方式与内存管理:1.Map对键强引用,对象作为键时不会被GC回收;2.WeakMap对键弱引用,对象在无其他引用时会被GC回收并自动移除条目;3.WeakMap的键只能是对象,而Map允许原始值;4.WeakMap不支持迭代、size属性和clear方法,适合存储不应阻止对象回收的私有数据或缓存。
-
单例模式确保类唯一实例并提供全局访问,观察者模式实现一对多依赖更新;单例用闭包或静态属性控制实例创建,观察者含Subject和Observer角色,现代开发常用EventBus或框架机制替代。
-
span加position:absolute后消失,因其作为内联元素脱离文档流且宽高坍缩为0;需确保有内容、设宽高、父容器定位上下文正确,并合理设置display值。
-
分片上传通过将大文件切块实现高效稳定传输。1.前端利用FileAPI按5MB切片,生成唯一标识并携带元信息上传;2.后端接收后存入临时目录,记录分片状态;3.支持断点续传,前端跳过已传分片,服务端校验哈希并合并;4.优化包括唯一标识、大小限制、重试机制、进度显示及临时文件清理,确保稳定性与性能。
-
优化JavaScript性能需聚焦加载执行提速与内存占用降低:延迟非关键脚本、用async/defer/import()控制加载;精简包体积、按需引入、启用压缩与分析;防范内存泄漏、节流高频操作;善用requestIdleCallback、DocumentFragment、WebAssembly等现代API。
-
IE8及更早版本不识别<article>等新标签,需用document.createElement创建并配合CSS声明display:block;html5shiv仅解决元素创建和样式化,不修复API、CSS3选择器或事件行为。
-
首先配置URL路由,将前端请求映射到视图;接着在views.py中编写视图函数处理POST请求并返回JSON响应;然后通过Ajax发送携带CSRF令牌的异步请求;同时在HTML模板中添加{%csrf_token%}并设置请求头;最后正确配置静态文件与模板路径,实现前后端交互。
-
确保HTML页面跨浏览器兼容需五步:一、顶部声明<!DOCTYPEhtml>;二、引入Normalize.css重置样式;三、为CSS新特性添加厂商前缀或用Autoprefixer;四、检测JSAPI并加载polyfill;五、添加viewport元标签和HTML5Shiv支持旧IE。
-
JavaScript动态改样式有三条路径:直接修改元素style对象适用于临时单次内联控制;切换className适合复用、可维护及响应式场景;操作CSSStyleSheet规则适合运行时生成主题或全局变量注入。