-
JavaScript变量无类型,类型属于值;var函数作用域、会提升、允重复声明;let/const块级作用域、不提升、禁重复声明;const需初始化且不可重赋值;原始类型按值访问,引用类型按引用访问;typeofnull返回"object"是历史bug。
-
:empty仅匹配完全无子节点(含空格、换行、注释)的元素;视觉空白不等于DOM为空,需用childNodes.length验证或预处理HTML清除空白。
-
HBuilderX中图片对齐失效主因是预览未刷新CSS、路径以项目根目录为基准、text-align需配合display:block使用,且需关闭“启用兼容模式”以支持现代CSS特性。
-
本文解析HBBTV环境下HTML5视频元素调用play()时因Promise被中断而报错“Uncaught(inpromise)DOMException:Theplay()requestwasinterruptedbyacalltopause()”的根本原因,指出问题通常并非JS执行时序所致,而是Dash流媒体编码参数与HBBTV规范兼容性不足所致。
-
伪类是描述元素特定状态的CSS关键词,:hover需元素可交互且支持悬停(如非移动端、pointer-events:auto),:focus匹配所有焦点来源而:focus-visible仅限键盘导航意图,伪类顺序应遵循LVHAF规则以确保样式正确生效。
-
JavaScript能做机器学习,凭借TensorFlow.js等库可在浏览器或Node.js中运行AI,无需数据上传,保障隐私、响应更快、支持离线;可集成于前端项目,实现图像识别、手势控制、智能表单等交互式轻量级AI功能。
-
BEM的block__element--modifier结构不可乱改,因其核心是保障样式作用域解耦与DOM重构低风险:双下划线标识强归属,短横线修饰符必须依附主体,违反则破坏语义层级、导致冲突或失效。
-
Vue异步更新队列将多次数据变更合并为一次DOM更新,nextTick在patch完成后、浏览器渲染前执行微任务回调,patch由队列统一触发虚拟DOM比对与更新。
-
JavaScript处理JSON靠JSON.parse()和JSON.stringify():前者将字符串转对象并支持reviver过滤,后者将对象转字符串并支持replacer和缩进;二者均不支持函数、undefined、Symbol及循环引用,需手动处理或容错。
-
移动优先指先写手机默认样式,再用min-width媒体查询逐级覆盖大屏;断点按内容需求设定并升序排列;慎用rem/em,优先clamp()实现流体字体;确保触摸目标≥44px、禁用user-scalable=no、图片max-width:100%;交互反馈需适配触屏,真机测试不可替代。
-
JavaScript继承基于原型链,ES6前用构造函数和原型实现,如原型链继承、构造函数继承、组合继承及寄生组合继承;其中寄生组合继承为最优方案,避免重复调用父类构造函数。ES6引入class和extends语法,使继承更直观,但底层仍基于原型链,仅是语法糖。class支持static定义静态方法,提升可读性与生态兼容性,现代框架广泛采用。核心原理始终为原型机制。
-
Babel插件通过AST操作ImportDeclaration、ExportAllDeclaration等节点的source.value安全重写模块路径,需同步更新raw值、兼容动态import()和TS,避免修改specifiers及相对路径错误。
-
display切换方案的核心思路是通过媒体查询将表格元素转换为块级元素,实现垂直堆叠布局,并利用data-label属性和伪元素恢复表头信息。具体步骤:1.使用语义化HTML结构;2.在小屏幕媒体查询中设置display:block并隐藏表头;3.通过data-label和::before伪元素显示列标题;4.调整样式优化对齐与布局。局限性包括代码冗余、内容过长影响体验、可访问性问题、交互限制及不适用于复杂比较型表格。其他响应式策略有横向滚动、列隐藏、翻转表格和使用JavaScript库,各自适用于不同场
-
使用Chart.js、GoogleCharts和ECharts结合HTML可实现数据可视化。1.Chart.js通过canvas绘制响应式图表,需引入库、创建canvas容器并用JavaScript配置数据;2.GoogleCharts支持复杂图表类型,需加载库、设置回调函数、定义数据与选项,并用div显示图表;3.ECharts适合动态与大数据场景,需引入脚本、准备div容器并初始化实例配置选项。关键在于正确设置容器尺寸、数据格式与配置项,确保响应式布局与交互功能正常。
-
input的value属性设默认值最直接,适用于text等类型;checkbox/radio用checked;select用option的selected;textarea内容写标签体内;disabled不提交,readonly会提交。