-
使用background-size属性可实现背景图像动态缩放:cover保持比例全覆盖但可能裁剪;100%100%强制拉伸易变形;contain完整显示留空白;媒体查询适配多端;CSS变量支持动态控制。
-
iPad上无法通过HTML5inputtype="file"读取任意本地文件路径,仅能通过系统文件选择器从相册、文件App或iCloudDrive中选择文件;需正确设置accept属性(如".pdf,.csv,.json")并确保HTTPS环境,FileReader读取时需处理未下载文件和大文件限制。
-
JavaScriptreduce是数组归并方法,不修改原数组,通过回调函数逐个处理元素返回单值;基本语法为arr.reduce(callback,initialValue),常用参数为累计值和当前项,需注意初始值与返回值一致性。
-
JavaScript通过原型链实现继承,对象的[[Prototype]]指向其原型,形成属性查找链。函数的prototype属性定义实例继承的对象,实例通过__proto__访问原型。常见继承方式包括原型链继承、借用构造函数、组合继承及寄生组合继承,推荐使用后者以提升性能。原型链支持原型模式(Object.create)、构造器模式和混入模式(Object.assign),便于对象创建与功能复用。需避免过长原型链、修改原生原型,注意区分自有与继承属性,优先使用ES6class语法(本质为语法糖)。掌握原型
-
页面后续内容无法正常向下排列、而是堆叠在首屏顶部,根本原因是.container使用了position:fixed且未设置高度与文档流脱离,导致后续<section>无基准位置可依,全部从视口原点(0,0)开始渲染。
-
JavaScript是让网页交互动态化的编程语言,运行于浏览器和Node.js,可响应操作、更新内容、通信服务器、控制样式;零基础可从待办清单项目入手,用记事本+浏览器即可实践。
-
应避免对表单元素直接使用float——它会破坏文档流、导致对齐错乱、影响标签关联与可访问性;推荐用flex或grid布局替代,必要时需清除浮动并确保语义结构完整。
-
JavaScript中call和apply的核心区别在于传递参数的方式:1.call接受参数列表,适用于逐个传递参数;2.apply接受一个包含参数的数组,适用于已有参数数组的情况。两者均用于改变函数执行时的this指向并立即执行函数。
-
要实现价格表格高亮显示,可使用CSS选择器达成直观效果。1.使用:nth-child(n)定位特定列,如td:nth-child(3)高亮第三列,th:nth-child(3)高亮表头;2.手动为特定价格单元格添加class如highlight,并定义样式实现重点突出;3.利用tr:hover实现整行悬停高亮,也可限定某列悬停效果;4.使用属性选择器匹配特定data-price值进行高亮,需在HTML添加自定义属性。这些方法结合颜色与过渡细节优化,能有效提升表格的可读性与交互体验。
-
元素视觉尺寸大于设置值,主要因content-box盒模型下width/height不含padding和border;改用border-box可使宽高包含内边距和边框;margin不增加自身占位但影响间距,需注意外边距合并与溢出问题。
-
URLAPI提供解析、构造和修改网址的能力,通过newURL()可访问协议、主机、路径等部分;结合searchParams和URLSearchParams精准操作查询参数;支持相对路径与基础URL合并;自动处理编码,避免手动拼接错误。
-
scrollIntoView()行为因参数和环境差异显著:默认顶部对齐且可能平滑滚动,但iOSSafari会静默降级;CSSscroll-behavior:smooth仅作用于文档流滚动,需设在html上;自定义容器须用scrollTo()或requestAnimationFrame模拟平滑;滚动监听应避免同步重排,优先用getBoundingClientRect()和requestAnimationFrame。
-
box-sizing默认为content-box时width/height不含padding和border,易致布局溢出;margin:0auto仅对块级元素有效;padding不影响布局流但扩大交互区;vertical-align仅适用于inline/table-cell元素。
-
严格模式是JavaScript中提升代码规范性、安全性和行为确定性的运行规则。它通过报错消除不合理语法、禁止危险操作(如with语句)、明确this等行为,并可通过"usestrict"在脚本或函数顶部启用;现代模块和类默认启用,但老项目仍需手动添加。
-
使用innerHTML插入带onclick的按钮时,无法访问类实例方法(如this.setChange()),根本原因在于内联事件处理器中this指向DOM元素而非类实例,且内联脚本无法访问模块作用域内的局部变量。解决方案是改用addEventListener+箭头函数保持词法作用域。