-
尾调用优化(TCO)是复用栈帧避免栈溢出的机制,但主流浏览器默认未启用;尾调用指函数末尾直接返回另一函数调用结果,无后续操作。
-
navigator.storage.estimate()是现代浏览器提供的异步API,用于估算当前源的存储已用空间(usage)和配额上限(quota),返回Promise,结果为{usage,quota}对象,二者均为动态估算值,不可精确计算剩余空间。
-
scroll-snap-stop:always仅Safari≥15.4在触控板/触摸屏滑动时真正生效;Chrome/Edge≤120、Firefox全系静默忽略;旧版浏览器直接丢弃该属性,需结合@supports和JS校准实现兼容。
-
ARIA属性必须在HTML原生语义无法表达组件行为或状态时精准补位;如自定义下拉需role="listbox"+aria-expanded+aria-activedescendant,模态框需role="dialog"+aria-modal="true"+aria-labelledby,动态内容区用aria-live="polite",且须JS同步更新状态。
-
JavaScript事件委托是将子元素事件绑定到父元素,利用事件冒泡和event.target识别目标,可减少监听器数量、节省内存、支持动态元素、降低DOM访问开销、简化逻辑维护。
-
结论:别用calc()+float封装三栏布局Mixin——兼容性假象大,维护成本真高,现代项目里纯属倒退。因calc()在旧版Safari等浏览器中存在解析异常,float布局本身已过时,且现代项目应优先采用Flexbox或Grid。
-
Symbol属性不可枚举,需Object.getOwnPropertySymbols()获取;作为原型属性时既隐式又可被继承访问,适合定义唯一协议方法(如serializable),避免命名冲突,支持跨模块共享、自动委托、运行时检测及多协议组合。
-
<p>JavaScript本身不支持注解语法,但可通过JSDoc注释为变量添加类型和说明,如/*@type{string}/constuserName="Alice";,配合工具实现类似功能。</p>
-
grid-auto-flow:column实现的是列优先填充而非单行横排,需配合grid-auto-columns、overflow-x和尺寸约束才能实现可滚动水平列表。
-
clamp()三个参数需验证生效区间:最小值16px在375px屏下对应2.5vw=9.375px<16px,故取16px;最大值24px在960px屏下2.5vw=24px,超此宽度即锁死24px;真正线性缩放仅发生在约640px–960px之间。
-
JavaScript语音识别主要依靠WebSpeechAPI的SpeechRecognition接口,需检测兼容性、处理权限与事件,适合网页实时转文字;不支持Safari,复杂需求需接入云服务或WebAssembly模型。
-
sandbox属性加了即“全锁死”:JS不执行、表单不提交、弹窗失效、localStorage不可读写,仅postMessage可用;须显式添加allow-scripts等白名单token才能放行对应能力。
-
容器与子元素背景重叠导致视觉混乱是因CSS默认简单覆盖,需用background-blend-mode控制混合;它作用于单元素多背景间,可通过伪元素间接调控父子背景混合,常用值如overlay、multiply等。
-
HTML中不存在_html语法,它既不是标签、属性,也不是合法自定义元素名;常见于JS私有属性、模板变量或开发者自定义键名,与HTML语法无关。
-
可在HTML页面内嵌入可交互代码编辑与执行功能,具体包括:一、CodeMirror+Function构造器实现JS即时运行;二、MonacoEditor配合WebWorker与vm2沙箱安全执行;三、iframe隔离预览HTML/CSS/JS;四、BrowserFS模拟本地文件系统。