-
console.log是轻量调试工具,需用标签、分组、对象包裹提升可读性;console.table适合结构化数据对比;console.trace和console.time分别用于追踪调用栈和性能计时;注意日志非原子性,需快照避免引用误读。
-
npm随Node.js自带,运行npm--version可验证;用npminit-y初始化生成package.json;安装依赖分dependencies(npminstall)、devDependencies(--save-dev)和全局(-g);更新需谨慎,npmupdate不跨主版本,升级主版本须显式指定如@latest;删除用npmuninstall;node_modules不提交,但package-lock.json必须提交以保证依赖一致性。
-
React中HTML空格“消失”是因自动合并连续空白字符,属DOM规范行为;有效保留方式包括{""}、{"\u00A0"}、whiteSpace样式及模板字符串配合CSS。
-
JavaScript数组方法效率取决于函数选择、数据规模等;for循环适合需提前退出、处理超大数组等场景;滥用map/filter/reduce链式调用易致性能下降数倍。
-
WeakSet是仅存储对象且不阻止垃圾回收的集合,具有弱引用特性,只提供add、delete、has方法,适用于私有状态标记和避免内存泄漏,不可用于缓存或遍历。
-
浮动元素脱离文档流是因为float使元素脱离普通流并允许文本环绕,导致父容器塌陷;清除浮动需在父容器层面处理,常用伪元素法、overflow触发BFC或空标签法。
-
应通过浏览器打开HTML文件。首先右键HTML文件选择“打开方式”,指定默认浏览器并勾选“始终使用此应用”;若未关联,可通过控制面板的“默认程序”中将.html文件类型与浏览器关联;还可创建快捷方式,用命令直接调用浏览器运行指定HTML文件。
-
memoize是一种手动实现的缓存策略,用Map存储输入与输出,提升纯函数(尤其递归)性能;手写需支持可序列化参数、保持this上下文,JSON.stringify有局限,Map可避免键冲突。
-
JavaScript模块不是语法糖,而是需严格遵循export/import规则、在模块环境下执行的代码组织机制;默认脚本非模块,须通过type="module"或Node.js的"type":"module"启用,强制作用域隔离、显式依赖和静态路径。
-
正确做法是为表单控件统一设置width:100%;max-width:400px;box-sizing:border-box,并补充-webkit-appearance:none、margin:0和vertical-align:middle;textarea不可遗漏,字号宜用rem或clamp()响应式控制。
-
答案:JavaScript通过dataset属性或getAttribute/setAttribute方法访问和修改data-*属性,常用于存储元素配置、状态、API地址等数据,需注意数据类型转换、命名规范及避免存储敏感信息。
-
浏览器history对象受安全限制,仅pushState和replaceState可操作历史栈且不刷新页面;pushState插入新条目,replaceState替换当前条目;popstate仅在用户导航时触发;go/back/forward不可靠,不可用于流程控制;history.length不准确,scrollRestoration需早期设置;所有方法要求HTTPS或localhost安全环境。
-
<p>Array.prototype.sort方法默认按Unicode码点值排序数字数组可能导致错误结果,正确排序需提供比较函数。1.默认排序会将数组元素转换为字符串进行比较。2.正确排序数字数组需使用(a,b)=>a-b。3.降序排序使用(a,b)=>b-a。4.对象数组排序需基于对象属性,如学生成绩或名字。5.排序会改变原数组,需复制数组以保留原数据。6.性能和稳定性因引擎而异,需注意大数组排序和稳定性问题。7.国际化排序需使用Intl.Collator。</p>
-
可以构建不依赖打包工具的现代化SPA。利用原生ES模块、动态导入和前端路由,通过<scripttype="module">加载模块,使用import()按需加载页面,结合history.pushState和popstate实现路由切换,动态渲染页面内容,并借助本地服务器运行,适合中小型项目或教学。
-
::selection中RGB颜色未生效是因为多数浏览器仅支持不带透明度的纯色(如#2a5c82),禁用rgba()、hsla()等含alpha的写法;需用十六进制转换并加浏览器前缀,且iOSSafari完全不支持该伪元素。