-
JavaScript正则表达式是内置RegExp对象与字符串方法协同工作的文本模式描述语言,非语法糖;字面量与newRegExp()创建方式在转义、动态构建上行为不同;test()、match()、replace()等方法因全局标志g和返回值类型差异表现各异;点号、贪婪匹配、Unicode处理存在常见陷阱。
-
答案:通过面向对象方式创建ProgressBar插件,支持配置合并、DOM动态渲染、平滑动画及链式调用。1.定义构造函数并初始化参数;2.init方法生成带样式的外框与进度条;3.setValue设置值并触发CSS过渡动画;4.updateText实时显示百分比;5.返回this实现链式调用,可扩展更多功能。
-
框架调用你的代码,库由你调用;控制反转体现为执行权归属——axios.get()由你控制时机,useEffect等钩子则由框架在指定时机触发。
-
Symbol的核心价值在于其唯一性,可避免对象属性命名冲突,实现“私有”属性与元编程。每次调用Symbol()都生成唯一值,即使描述相同也不相等,确保属性键互不覆盖。它不能被for...in、Object.keys()或JSON.stringify()遍历或序列化,但可通过Object.getOwnPropertySymbols()或Reflect.ownKeys()获取,适用于内部状态存储、混入扩展、自定义迭代(如Symbol.iterator)等场景。需注意:Symbol非绝对私有,无法跨域共享(除非
-
可通过JavaScript设置value属性为空、innerHTML清空容器、textContent清除文本、表单reset按钮重置或jQuery的val()/empty()方法清空HTML元素内容。
-
目前无法通过CSS伪类如::picture-in-picture-progress直接设置画中画(PiP)窗口内进度条的样式,因为该伪类并非标准且不受支持,浏览器对PiP内部UI的自定义权限极为有限,以确保安全性和一致性,开发者只能在视频进入PiP模式前通过构建自定义HTML5播放器来实现个性化进度条等控件,而::picture-in-picture伪类仅能作用于视频元素本身,无法影响PiP窗口内部的播放控制界面,因此完全自定义PiP进度条在当前Web标准下不可行。
-
掌握CSS尺寸控制是实现响应式布局的关键。通过width和height设置元素基本尺寸,可使用像素、百分比、vw/vh等单位;结合min-width与max-width限制宽度范围,避免内容溢出或压缩,如容器设置100%宽度并限定最小320px、最大1200px以适配不同屏幕;min-height与max-height用于控制高度弹性,例如卡片组件保持最小高度150px,超出400px时出现滚动条;综合运用这些属性可构建自适应界面,如主内容区设为100%宽度、最大800px、最小100vh高度,并居中显示
-
Redux通过单一store实现可预测状态管理,要求状态只读、变更靠action描述,由纯函数reducer处理,异步逻辑交由middleware(如Thunk)处理。
-
HTML5视频播放失败需依次检查:更新浏览器至最新版;Chrome/Edge启用flags中“PreferHTML5overFlash”和硬件解码;Firefox在about:config启用media.mediasource.enabled和media.mp4.enabled;禁用广告拦截等干扰扩展;Linux系统安装GStreamer相关插件。
-
在React项目中,可同时为元素应用来自CSSModules的局部类名和来自全局样式表的普通类名,只需正确拼接字符串——CSSModules类通过styles.xxx访问,全局类直接写类名(不加点号或引号)。
-
::first-letter伪元素可实现首字放大,但仅对块级元素生效,作用于段落首个字母或汉字;行内元素需设display:block/inline-block;注意空格、标签干扰及部分盒模型属性不支持。
-
答案:justify-content控制主轴对齐,align-items控制交叉轴对齐,二者结合可实现居中、两端对齐等布局效果。
-
使用requestAnimationFrame替代setTimeout/setInterval,结合transform和opacity驱动动画,减少重排重绘,缓存DOM引用,合理利用WebWorkers处理复杂计算,可显著提升JavaScript动画性能。
-
Chrome自2011年起深度支持HTML5,问题多源于版本过低(如≤80)、file://协议限制、JavaScript或硬件加速关闭、系统库不兼容(如CentOS7的glibc<2.28)等。
-
WebSocket连接失败主因是建立阶段问题,需检查协议匹配、Origin校验、路径参数一致;二进制数据须预设binaryType为'blob'或'arraybuffer';需实现指数退避心跳保活与状态清理。