-
JavaScript参数传递是按共享传递:原始类型传值副本,对象传地址副本;函数声明会提升可先调用,表达式不可;箭头函数无this/arguments且不可new;...args和解构支持默认值。
-
后代选择器用于选中某元素内所有特定后代元素,通过空格分隔选择器实现,如.containerp会匹配class为container的元素内部所有p标签,无论嵌套多深。
-
父元素是否影响图像位置取决于其是否为定位上下文或特定display类型:position非static时可作为绝对定位包含块;flex/grid下由对齐属性控制;inline默认行为导致基线留白。
-
JavaScript事件循环严格遵循“宏任务→清空全部微任务→下一宏任务”节奏:先执行一个宏任务,再连续执行所有微任务直至队列为空,最后浏览器可能渲染并取下一个宏任务。
-
static为默认定位,元素按文档流排列,偏移属性无效;2.relative相对原始位置偏移,保留占位,不脱离文档流;3.absolute脱离文档流,相对于最近的已定位祖先元素定位,常用于弹窗或菜单;4.fixed固定于视口,滚动不变,适用于导航栏等;5.sticky结合relative与fixed特性,滚动到阈值后吸顶,需指定偏移量。掌握各定位特性及上下文关系,可精准控制布局。
-
子元素占比不正确源于未理解flex-grow、flex-shrink与flex-basis协作逻辑;flex-basis是分配剩余空间前的初始尺寸,设为0才能使grow按比例生效;grow瓜分的是剩余空间而非总宽,shrink在溢出时按basis×shrink加权收缩;常用组合如等宽三列用flex:110。
-
事件循环是单线程下协调任务执行的机制,按“主线程→微任务→宏任务”顺序调度,每次宏任务后清空微任务队列,再取下一个宏任务。
-
const与let核心区别是const声明后不可重新赋值,仅绑定不可变;const必须声明即初始化,存在暂时性死区,且不适用于传统for循环递增;let允许重复赋值和分步声明。
-
流光文字效果本质是background-clip:text与text-fill-color:transparent配合实现文字镂空透出动态背景;需加-webkit前缀、禁用transform/filter、用两色渐变+显式background-position动画,并针对Safari兼容性优化。
-
display属性决定HTML元素的盒子类型及布局行为,block独占一行可设宽高,inline随文本流仅占内容宽且宽高无效,inline-block兼具inline的并排特性和block的盒模型控制;2.响应式中通过display:none隐藏元素节省空间,flex和grid则实现不同屏幕下子元素排列方向或网格结构的切换;3.高级用法如table系列模拟表格布局,list-item生成列表标记,contents使子元素直接受父容器布局管理,但需注意inline垂直间距、inline-block间隙、di
-
最标准可靠的方式是用标签包裹<img>,因其兼容性好、语义清晰、SEO友好;避免onclick跳转,以保障键盘导航、右键菜单、屏幕阅读器支持及移动端上下文操作。
-
progress是HTML5表示任务进度的语义化标签,需同时设value和max,支持可访问性;不可用于加载动画,样式定制需兼容WebKit、Firefox等多引擎,文字标签须用相邻元素实现,JS更新应直接赋值value并校验范围。
-
表单元素错位主因是float脱离文档流与表单默认行为叠加;解决需控制对齐、清除浮动、统一基线;推荐用inline-block或flexbox替代float,兼顾兼容性与可维护性。
-
侧边栏滑入效果可通过CSS@keyframes和transform:translateX()实现。1.定义@keyframesslideIn,从translateX(-300px)到translateX(0);2.将动画应用到.sidebar,设置animation:slideIn0.5sease-outforwards,初始隐藏;3.可通过JS添加.show类触发动画;4.扩展slideOut动画实现滑出。该方案流畅高效,无需JS即可实现基础动效。
-
回调函数是作为参数传递给另一函数并在特定时机被调用的函数,用于解决JavaScript单线程下异步操作阻塞问题,避免页面卡顿,实现非阻塞式编程,但易导致回调地狱。