-
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和断言。
-
使用@keyframes定义动画,通过color和background-color实现文字与背景色同步闪烁,如:@keyframesblink{0%{color:black;background-color:white;}50%{color:red;background-color:yellow;}100%{color:black;background-color:white;}},并应用.animation:blink1sinfinite于元素,可通过调整时长、次数或添加prefers-reduced-
-
默认box-sizing为content-box易触发重排,建议设为border-box;margin-collapse动态修改会强制layout;outline不建新图层而box-shadow会;display:none完全跳过渲染,visibility:hidden仍执行layout。
-
map是“每个都变”,filter是“挑着留”:map用于一对一转换且输出长度不变,filter用于条件筛选且输出长度≤原数组。
-
现代JavaScript继承优先用class+extends,因其语义清晰且自动建立正确原型链、修复constructor;直接赋值Parent.prototype给Child.prototype会导致共享原型和constructor指向错误。