-
JavaScript循环选择取决于数据结构和控制逻辑:次数确定或需索引用for;条件驱动且次数不定用while;需至少执行一次用do...while;遍历值优先for...of,避免for...in用于数组。
-
createObjectStore创建的是键值对集合而非传统表,需通过keyPath或autoIncrement定义主键,并用索引支持字段查询;keyPath和autoIncrement创建后不可更改,索引可后续添加。
-
readonly属性允许表单提交其值,disabled属性则阻止提交;前者适用于需保留值的只读展示(如用户ID),后者适用于临时禁用且不提交的控件(如未同意协议时的提交按钮)。
-
blockquote必须闭合,否则浏览器自动修复会导致布局错乱、footer消失、cite失效及屏幕阅读器朗读异常;cite属性须为完整URL,专标来源而非作者;footer与cite是语义闭环必备,须正确嵌套并适配深色模式样式。
-
逻辑赋值运算符&&=、||=、??=可简化条件赋值:1.&&=在左侧为真值时赋值,适用于有值才更新;2.||=在左侧为假值时赋值,常用于设置默认值;3.??=仅当左侧为null或undefined时赋值,避免覆盖0或空字符串等合法值,提升代码安全性与可读性。
-
亚像素缝隙源于margin/top等布局属性在计算中被四舍五入,而transform属合成层操作,可保留0.1px级精度,真正实现像素对齐。
-
闭包记忆化通过私有缓存将递归DP时间复杂度从指数级降至线性,关键在于闭包内自引用、可靠键生成(如${n}|${capacity})和缓存管控(上限/LRU)。
-
创建HTML文本框使用<inputtype="text">,通过name、value、placeholder、maxlength等属性设置名称、默认值、提示文字和输入限制,并可结合form表单提交数据。
-
闭包通过作用域隔离与受控接口实现原始数据不可变性:内部状态不暴露,get()返回只读副本,update()强制校验,subscribe()传递冻结快照,杜绝引用泄露、校验缺失和多实例污染。
-
必须后端校验才能避免重复预订和时间冲突,前端仅负责渲染结构化数据、用class控制状态样式、添加唯一请求标识并配合Redis幂等处理,时段冲突判断必须由后端完成。
-
:root权重高于html,因其特异性为0-1-0,而html仅为0-0-1;:root是CSS变量唯一可靠的全局挂载点,支持跨文档、暗色模式及微前端场景,且语义明确、规范保障。
-
Symbol是JavaScript中的原始类型,用于创建唯一不可变值,常作为对象属性键以避免命名冲突。通过Symbol()函数生成,即使描述相同也互不相等,确保唯一性。Symbol属性不会被for...in或Object.keys()遍历,需用Object.getOwnPropertySymbols()访问。可用于模块间安全添加属性,防止覆盖。内置well-knownSymbols如Symbol.iterator、Symbol.toStringTag可自定义对象行为,实现可迭代、修改toString结果等
-
调用天气API的核心是通过HTTP请求获取数据并解析JSON,常用fetch方法结合APIKey向OpenWeatherMap等服务商请求,选择API时需考虑免费额度、数据精度、文档质量、CORS支持等因素,推荐OpenWeatherMap或和风天气;常见问题包括CORS跨域、APIKey泄露、请求频率限制及数据解析错误,解决方案为使用后端代理、设置白名单、本地缓存和错误处理机制;在前端展示时应结构化数据、组件化UI、添加加载与错误状态、结合图标与背景提升视觉体验,并通过自动定位、城市切换和响应式设计优化
-
Permissions-Policy已取代Feature-Policy,旧头在Chrome100+等浏览器中静默失效;必须使用Permissions-Policy响应头和allow属性(分号分隔、括号指定来源),且需明确控谁、控什么、在哪控。
-
最可控、兼容性最好的水彩感实现方式是用多层linear-gradient叠加,每层设低alpha值并错开角度;不能用opacity或嵌套rgba()容器,因其导致全元素发虚或嵌套失真,违背水彩颜料在纸面物理扩散的本质。