一、HTML 选择题
- HTML5 的离线存储方案中,SessionStorage 的生命周期是?
A. 永久存储,除非手动清除
B. 浏览器关闭时自动清除
C. 页面关闭后清除
D. 服务器端控制清除
答案:C
解析:SessionStorage 的生命周期为当前会话(页面关闭即清除)。 - 以下哪个标签不属于 HTML5 语义化标签?
A.<nav>
B.<div>
C.<article>
D.<section>
答案:B
解析 :<div>
是通用容器标签,无明确语义14。
二、CSS 选择题
- 使用 Flex 布局时,如何实现子元素垂直水平居中?
A.justify-content: center;
B.align-items: center; justify-content: center;
C.margin: auto;
D.flex-direction: column;
答案:B
解析:Flex 布局需同时设置主轴和对齐轴居中。 - 以下哪个属性会触发 BFC(块级格式化上下文)?
A.display: inline-block
B.overflow: visible
C.float: none
D.position: static
答案:A
解析 :display: inline-block
、overflow: hidden
等属性可触发BFC。
三、JavaScript 选择题
-
关于闭包,以下说法错误的是?
A. 闭包可以访问外层函数作用域的变量
B. 闭包可能导致内存泄漏
C. 闭包会立即执行外层函数
D. 闭包常用于模块化封装私有变量
答案:C
解析:闭包不会立即执行外层函数,需通过返回函数调用触发。
-
以下代码的输出结果是什么?
javascriptconsole.log(1); setTimeout(() => console.log(2), 0); Promise.resolve().then(() => console.log(3)); console.log(4);
A. 1 4 2 3
B. 1 4 3 2
C. 1 2 4 3
D. 1 3 4 2
答案:B
解析:事件循环中,微任务(Promise)优先于宏任务(setTimeout)执行27。
四、高频考点综合题
- 关于跨域问题,以下解决方案错误的是?
A. JSONP
B. CORS
C. WebSocket
D. 使用document.domain
强制同源
答案:D
解析 :document.domain
仅限主域相同且端口一致的场景,非通用跨域方案。 - 以下哪个方法可以深拷贝一个对象?
A.Object.assign({}, obj)
B.JSON.parse(JSON.stringify(obj))
C.[...obj]
D.obj.slice()
答案:B
解析 :JSON.stringify
可处理简单对象深拷贝,但会丢失函数和Symbol类型。
五、框架与浏览器原理
- Vue 的响应式原理主要基于以下哪项技术?
A. 发布-订阅模式
B. Object.defineProperty 或 Proxy
C. 虚拟DOM Diff 算法
D. 事件委托
答案:B
解析 :Vue2 使用Object.defineProperty
,Vue3 升级为Proxy
。 - 浏览器渲染流程中,以下步骤的正确顺序是?
① 计算样式(Style)
② 布局(Layout)
③ 绘制(Paint)
④ 合成(Composite)
A. ①→②→③→④
B. ②→①→③→④
C. ①→③→②→④
D. ④→③→②→①
答案:A
解析:渲染流程依次为样式计算→布局→绘制→合成。