-
生成器函数通过function*和yield实现可暂停、可恢复的执行,返回迭代器对象,支持惰性求值,适用于自定义迭代器、异步控制、无限序列等场景,并需注意一次性使用、双向通信及与async/await的权衡。
-
推荐用class控制样式:CSS预设类,JS用classList.add/remove/toggle切换;其次可用element.style(驼峰命名、不可简写)或CSS变量setProperty动态更新;避免拼接style字符串或setAttribute('style')。
-
JavaScript数组遍历方法有多种,常用的主要包括:forEach、map、for...of、for循环、filter、reduce、some、every等。其中forEach和map表面看都是“对每个元素执行操作”,但核心区别在于:前者不产生新数组,仅用于副作用;后者必须返回新数组,且长度与原数组一致。forEach是纯执行,不返回有意义的值forEach的设计目的就是“遍历并做事”,比如打印、修改外部变量、发送请求、操作DOM。它内部会执行回调函数,但总是返回undefine
-
一、强制刷新页面:按Ctrl+F5或Cmd+Shift+R硬性刷新,直接获取最新资源;二、清除浏览器缓存:在设置中选择“所有时间”并清除“缓存的图片和文件”;三、使用开发者工具:F12打开Network面板,勾选Disablecache后刷新;四、修改URL参数:在网址后添加如?version=2等查询字符串触发新请求;五、调整服务器响应头:设置Cache-Control:no-cache或max-age=0以控制客户端缓存行为。
-
可通过五种方法实现网页自动滚动与分页:一、CSS@keyframes垂直循环滚动;二、JSsetInterval控制scrollTop定时滚动;三、Pagination逻辑手动分页并支持自动翻页;四、IntersectionObserver实现视口触发型自动翻页;五、CSSscroll-snap-type原生滚动对齐分页。
-
WebWorkers是浏览器提供的后台线程方案,通过postMessage通信实现与主线程隔离,支持专用、共享和服务三种类型,适用于耗时超50ms且不操作DOM的计算任务。
-
使用组合选择器和BEM命名规范可有效避免CSS嵌套样式污染,通过提升特异性和作用域隔离,确保组件样式互不干扰。
-
答案:JavaScript通过HTML5Canvas元素实现动态绘图,先获取2D上下文进行图形绘制。使用fillRect、strokeRect、arc等方法绘制基本图形,结合fillStyle、strokeStyle设置样式,利用requestAnimationFrame实现动画并用clearRect清除帧间残影,从而创建交互式视觉效果。
-
PurgeCSS与PostCSS结合可有效减小CSS文件体积。通过配置postcss.config.js,在生产环境下启用PurgeCSS插件,扫描HTML和JS文件,删除未使用的工具类样式。支持safelist机制保留动态生成的类名,如正则匹配的颜色或动画类,避免误删。集成到构建流程后,显著压缩输出文件,提升页面加载性能,适用于Tailwind等实用类框架项目。
-
JavaScript高阶函数是接收函数为参数或返回函数的函数,map和filter是典型代表,二者均不修改原数组而生成新数组;map实现一对一映射,filter按条件筛选,二者可链式组合使用。
-
:read-only伪类仅对原生支持只读的表单元素(如input、textarea)且显式设置readonly属性时生效,不匹配disabled元素或contenteditable=false的非表单元素;需检查选择器优先级、属性是否被JS动态移除,并推荐用自定义class作为兼容性替代方案。
-
JavaScript变量是存储数据的容器,由名字、值和作用域构成;推荐用let(块级、可重赋值)和const(块级、需初始化、不可重赋值但对象属性可变),避免var(函数作用域、变量提升)。
-
安装LiveServer插件并配置默认浏览器,通过右键菜单“OpenwithLiveServer”即可在浏览器中实时预览HTML文件,同时确保文件关联为HTML以获得语法高亮支持。
-
样式缺失主因是CSS路径错误,需检查外链路径是否协议域名正确、相对路径是否以HTML文件位置为基准,并用Network面板按三步法排查请求状态与发起源。
-
答案是编写和运行HTML文件只需文本编辑器与浏览器。使用记事本等工具编写标准HTML结构代码,保存为.html格式且编码为UTF-8,双击即可在浏览器中查看效果,修改后刷新即更新页面内容。