-
<p>encodeURI用于编码完整URL,保留协议和路径结构,不编码:/?#@等字符,适用于整体URL编码;encodeURIComponent用于编码URL片段如参数值,会编码包括?=&在内的特殊字符,防止解析错误。两者不可互换使用,否则可能导致服务器解析失败或链接无效。</p>
-
默认参数允许在函数定义时为参数指定默认值,当未传参或传入undefined时生效。例如functiongreet(name="游客")会输出“你好,游客!”;支持表达式、函数调用及前参引用,常用于配置对象、可选字段等场景,提升代码健壮性与可读性。
-
跨度指网格项跨越的行或列数,通过grid-column和grid-row配合span使用;例如grid-column:2/span2表示从第2条线开始跨越2列,占据第2至第3列;同理grid-row:1/span3表示从第1行开始跨3行;可省略起始线写为span2,默认从当前位置起跨,支持负数线号与响应式布局。
-
利用CSS伪元素可高效创建提示图标,无需额外HTML。首先为容器设置relative定位,通过::before或::after添加content内容,结合position绝对定位将图标置于元素右上角;可使用文字或FontAwesome等字体图标(需指定font-family和Unicode),并用背景色、尺寸、圆角等样式美化;还可通过:hover触发::after显示提示文字框,注意设置z-index避免层级问题。该方法轻量且易维护,适用于表单标注等场景。
-
定位属性需配合非static的position值使用,top、right、bottom、left用于设置偏移量;relative相对于原位置移动,absolute相对于最近已定位祖先定位,fixed固定于视窗,sticky根据滚动切换行为;常用于居中元素、填充父容器、固定按钮等布局场景。
-
答案:Node.js中操作对象即操作JavaScript对象,核心是属性的增删改查。通过字面量、newObject()或Object.create()创建对象;用点或方括号访问/修改属性,可动态添加或delete删除属性;遍历可用for...in、Object.keys/values/entries;复制支持浅拷贝(扩展运算符、Object.assign)和深拷贝(JSON.parse+stringify或structuredClone);处理嵌套对象推荐可选链(?.)和空值合并(??)操作符,结合解构与
-
将CSS选择器与Flexbox和Grid结合,可精准控制布局:后代选择器区分主容器与子布局,属性选择器实现语义化布局切换,伪类选择器动态调整样式;Grid负责页面整体结构,Flex处理组件内部排列,通过class组合提升复用性;结合媒体查询实现响应式,利用:not()和父子选择器精细调控,分层解耦,发挥各技术优势。
-
答案:visibility控制元素视觉显示但保留布局空间,display决定元素是否参与布局;visibility:hidden隐藏元素但仍占位,display:none则完全移除元素且不占空间;结合使用可实现动画效果与布局优化,注意可访问性与重排影响。
-
sticky定位结合flex布局可实现滚动粘性效果,常用于导航栏、侧边栏等场景;需设置top或bottom值且父容器不能有overflow:hidden。
-
要构建支持TreeShaking的JavaScript库,需使用ES模块语法、避免副作用、配置package.json正确声明模块入口与无副作用,并通过Rollup等工具打包输出ESM格式,确保未使用代码可被安全移除。
-
D3.js是Data-DrivenDocuments的简称,由MikeBostock等人开发,核心理念为数据驱动,通过将数据绑定到DOM元素实现动态、交互式可视化;它使用选择集(select/selectAll)操作元素,并通过.enter()、.update()、.exit()模式同步数据与视图;支持SVG绘制柱状图、力导向图、地图等复杂图形,利用比例尺映射数据,轴组件生成坐标,过渡动画增强视觉效果;还可绑定鼠标事件实现提示、高亮、缩放等交互功能,具备高度灵活性和定制能力。
-
函数式编程通过纯函数、不可变数据和函数组合提升代码清晰度与可维护性,尤其适用于复杂逻辑处理;它强调无副作用的函数和数据不可变性,避免状态混乱;以数学函数组合思想为基础,通过compose或pipe将小函数串联,实现从右到左或从左到右的数据流转,如对数字加1、平方、转字符串的操作可通过pipeline(5)得到"36";实际应用中广泛用于表单验证、数据转换等场景,例如组合isEmpty、isValidEmail等函数构建可复用的邮箱验证逻辑;整体上,函数式编程倡导关注“做什么”而非“怎么做”,通过组合式开发
-
return用于返回值和终止函数,如add(2,3)返回5;2.可提前结束函数,常用于条件判断;3.箭头函数中若无大括号可省略return;4.无return或仅写return则返回undefined。
-
动态导入是JavaScript中按需加载模块的技术,使用import()函数实现,返回Promise,支持运行时条件加载、懒加载等场景,提升性能。
-
答案:JavaScript测试策略应平衡单元与集成测试,选用Jest、RTL等框架提升可维护性。核心是通过单元测试验证函数逻辑,集成测试确保组件协作,结合CI/CD实现快速反馈,避免过度测试第三方库或UI细节,保持测试简洁可维护。