-
BOM是JavaScript与浏览器交互的核心API,包含window、location、navigator、history、screen等对象,分别用于操作窗口、URL导航、浏览器信息、历史记录及屏幕信息,辅以dialog和performance等接口,实现页面跳转、用户代理检测、无刷新路由、响应式布局与性能监控,虽无统一标准但广泛支持,为前端开发提供基础能力。
-
必须使用<h1>至<h6>标签按层级嵌套标题,配合<section><article><header>等语义元素构建结构,禁止跳级、滥用或CSS模拟,确保SEO与无障碍合规。
-
使用Bulma可通过is-danger、is-success等类实现表单验证样式,结合field、control结构与help提示,配合JavaScript动态控制状态,统一外观且无需自定义CSS。
-
单页面应用(SPA)路由通过HistoryAPI或Hash模式实现无刷新视图切换,核心是监听URL变化并动态渲染;需服务端配合History模式兜底,手写路由可实现基础功能,但复杂场景应使用成熟路由库。
-
Bulma基于Flexbox构建响应式布局,通过columns与column类实现弹性排列,结合is-half、is-8-desktop等断点类控制多设备显示,支持原生flex属性扩展,适用于仪表盘等复杂场景。
-
JavaScript原型链是对象查找属性和方法时沿[[Prototype]]隐式链接的路径,始于对象自身,逐级向上至null;它通过构造函数的prototype属性、Object.create等实现继承,影响属性访问、instanceof判断及共享引用类型属性。
-
选择合适工具如Terser,编写模块化、扁平化代码,启用drop_console等高级选项,并将压缩整合进Webpack构建流程,结合tree-shaking与CDN优化,持续提升加载与运行效率。
-
函数式编程在JavaScript中强调纯函数、不可变数据和高阶函数,而非彻底抛弃命令式;核心是将函数作为一等公民,通过map/filter/reduce等实现可预测、易组合、低副作用的逻辑。
-
使用HTML5的video标签是网页播放视频最简单且兼容性好的方式,无需插件,通过controls属性显示控制条,source标签指定MP4和WebM等多格式视频以适配不同浏览器,结合autoplay、muted、loop等属性可自定义播放行为,确保现代浏览器下稳定高效运行。
-
JavaScript原型链是对象查找属性时实际遵循的隐式[[Prototype]]引用路径,从对象开始逐级向上直至null;class继承和ES5手动继承均依赖此机制实现方法共享与实例属性继承。
-
Map和Set的核心价值是键可为任意类型及自动去重;Map键支持对象、函数、NaN等,保证插入顺序且size为属性;Set基于SameValueZero去重,对NaN正确处理,has查找为O(1)。
-
通过Float与伪元素结合,利用padding-bottom和负margin-bottom使浮动列视觉等高,并用::after清除浮动防止塌陷,适用于兼容旧浏览器的布局。
-
浮动卡片换行顺序错乱的本质是float布局不支持显式顺序控制;应改用Flexbox(配合order属性)或CSSGrid(配合grid-row/column或命名区域)来实现逻辑与视觉顺序分离。
-
Promise链是通过.then()方法串联多个异步操作,确保依次执行并传递结果,例如fetch用户数据后请求其文章,每步返回值或Promise供下一步使用,错误由末尾.catch()统一捕获,需避免断链陷阱如忘记returnPromise。
-
在Ionic+Angular+Capacitor项目中,对@capacitor/status-bar插件进行单元测试时,因Web环境下插件未实现而报错,可通过路径别名+全局mock方式精准模拟StatusBarAPI,使StatusBar.setStyle()等调用可被spyOn和断言。