-
浅拷贝只复制第一层属性,引用类型共享内存,修改嵌套数据会影响原对象;深拷贝递归复制所有层级,生成完全独立的对象。常用浅拷贝方法有Object.assign、扩展运算符;深拷贝可用JSON.parse(JSON.stringify())、递归实现、Lodash的_.cloneDeep或structuredClone()。结构简单时用浅拷贝性能好,多层嵌套需深拷贝以确保数据隔离,注意循环引用和类型兼容性问题。
-
FormData处理多文件上传的核心技巧是遍历FileList对象并逐个append文件。1.为文件输入元素添加multiple属性以支持多选;2.获取用户选择的文件后,通过循环将每个文件append到FormData对象中;3.使用相同字段名时,服务器端会接收到文件数组;4.可选地,为每个文件设置不同字段名如image1、image2等;5.最后通过FetchAPI或XMLHttpRequest发送FormData对象即可完成多文件上传。
-
微博H5页面无法直接上传图片发博,必须通过开放平台API实现:先审核应用并获取write权限,用户OAuth2授权后持access_token调用upload_batch上传图片获media_ids,再用statuses/update发博;前端需自行完成选图、排序、canvas压缩(注意兼容性)及顺序上传,不可并发;所有请求须后端代理或签名,且需校验token有效性。
-
本文介绍如何使用HTML的rel="noreferrer"属性在页面跳转时清除或隐藏原始来源(Referer),从而防止目标网站获取真实来源地址,同时兼顾兼容性与无需JavaScript的原生方案。
-
JavaScript有7种基本数据类型:Number、String、Boolean、Null、Undefined、Symbol和BigInt,均为不可再分的原始值,存储在栈内存中,赋值时为值的拷贝,具有不可变性,任何操作都生成新值而非修改原值;其中Null的typeof返回"object"属历史bug,Symbol用于唯一属性键,BigInt表示任意大整数;JS存在隐式类型转换,如"5"+3得"53"、"5"-3得2,建议用===避免类型转换问题。
-
JavaScript有7种主流循环方式,分为传统控制型(for/while/do...while)、可迭代对象遍历(for...of/for...in)和数组高阶方法(forEach/map/filter等),核心区别在于适用对象、是否改变原数组、能否中断及是否返回新数据。
-
用match()提取数字需用/\d+/g匹配多位数,/\d+/g可提取"299"和"249";带小数点数字用/\d+(?:.\d+)?/g提取"3.14"等;parseInt/parseFloat仅适用于开头为数字的字符串,且有进制和格式陷阱。
-
在HTML中实现机器学习主要通过TensorFlow.js库实现,具有即时性、隐私保护、减轻服务器负担和离线可用等优势。1.引入TensorFlow.js和相关模型库,通过<script>标签加载CDN链接;2.使用JavaScript操作tf全局对象,加载预训练模型(如MobileNet)进行图像识别;3.可在浏览器中定义神经网络结构并调用model.fit()方法训练模型;4.数据保留在本地,提升隐私安全并减少传输延迟;5.浏览器端计算降低服务器压力,提高可扩展性;6.支持离线使用,适用于
-
答案:HTML5时间轴通过语义化标签构建结构,CSS3实现左右交替布局与响应式设计。使用<time>、<divclass="timeline-item">搭建条目,.timeline::before绘制中线,::after添加圆点标记,nth-child控制奇偶对齐,Flexbox垂直排列,配合@media适配移动端,支持hover动画与滚动触发动效,提升交互体验。
-
link标签必须使用rel="stylesheet"且href指向合法CSS路径,禁止协议绝对URL;CSS文件需按base/components/layouts/pages分层组织,禁止跨层依赖与非法@import;须用lint工具校验路径、rel属性及命名规范。
-
答案:GET通过URL传递数据,适合非敏感、小量信息;POST将数据放在请求体中,更安全且支持大数据量和文件上传。
-
JavaScript操作DOM事件最常用addEventListener方法,支持多监听器与捕获阶段;事件委托通过父元素监听+event.target判断实现,适用于动态子元素,但focus/blur等不冒泡事件不可委托。
-
JavaScript性能监控通过内置API或第三方工具收集分析各阶段数据以优化体验;核心是NavigationTimingAPI、Performance.now()、WebVitals指标(FCP/LCP/CLS/TTFB)、PerformanceObserver监听、手动埋点及兼容性处理。
-
通过::selection伪元素可自定义网页文本选中样式,支持color、background-color、text-shadow等属性,示例中设置全局选中文字为白色、背景蓝色(1.::selection{color:white;background-color:#007acc;}),也可针对特定元素如带highlight类的段落设置黄字红底(2.p.highlight::selection{color:yellow;background-color:red;}),或为h1、code分别设定不同高亮风格,
-
回溯陷阱由正则表达式引擎在处理嵌套量词或模糊匹配时尝试过多路径导致,典型如(a+)+匹配失败时穷举分组组合,引发性能崩溃。