-
箭头函数无this、无arguments、不能new调用、返回对象需括号包裹;this沿作用域链继承,arguments需用...args替代,无prototype故不可构造,返回对象字面量必须用()包裹。
-
使用标签选择器可选中指定HTML元素,如p、div、img;结合类或ID可精确控制,如p.special、div#header;通过属性选择器可筛选具特定属性的元素,如input[type="text"]、a[href^="https"];利用伪类可选中特定状态元素,如li:first-child、button:hover。
-
ES6模块依赖运行环境支持:浏览器需script加type="module",Node.js需package.json设"type":"module"或用.mjs后缀;import在HTML中报错因默认按传统脚本执行;export分命名导出(import{a})和默认导出(importa),不可混用;Node.js中须统一模块系统,动态import()可在CommonJS中安全使用,且路径须带扩展名。
-
Webpack通过入口文件构建依赖图,将模块封装为函数并用__webpack_require__模拟模块系统,借助Loader翻译文件、Plugin执行宏观任务,DevServer提供HMR热更新提升开发体验。
-
清除浮动是为解决父容器因子元素浮动导致的高度塌陷问题。常用方法有:1.使用clear:both添加空元素;2.伪元素法(推荐),通过::after插入隐藏块并清除浮动,无需额外HTML标签;3.设置overflow:hidden或auto触发BFC,使父容器包含浮动元素,但可能裁剪溢出内容。优先推荐伪元素法,结构清晰且兼容性好。
-
JavaScript数字分隔符\_专为人类阅读设计,提升长数字可读性且不改变值或运算逻辑;支持十进制、二进制、十六进制、小数及科学计数法,仅作视觉断点,解析时被完全忽略。
-
要实现HTML5拖拽功能,需设置draggable="true"并监听dragstart、dragover和drop等事件,在dragstart中通过dataTransfer.setData()传递数据,dragover中调用preventDefault()允许放置,drop时获取数据完成交互。
-
favicon.ico放根目录虽可被部分浏览器自动加载,但iOS/Android需显式link声明,HTTPS下HTTP图标会被拦截,缓存顽固须硬刷新或改名,PWA必须配manifest.json。
-
事件监听必须用addEventListener,因其支持多次绑定、捕获/冒泡控制(thirdparam)、once/passive等选项;scroll等高频事件需节流/防抖/rAF优化;注意target与currentTarget区别;兼顾键盘操作与无障碍访问。
-
:first-of-type选择父元素中某类型第一个子元素,如p:first-of-type选中首个p;:last-of-type则选中该类型最后一个子元素,如p:last-of-type选中末个p;两者均仅在同类型标签内按顺序匹配,忽略其他标签类型影响。
-
不能直接用transition:height实现面板展开动画,因为height:auto无法参与过渡;应使用max-height过渡或JS动态设置精确高度。
-
使用文本编辑器或IDE可直接修改并保存HTML文件,通过Ctrl+S或Cmd+S快捷键保存后,在浏览器中刷新预览效果;若项目使用Git,则需执行gitadd、gitcommit和gitpush命令将修改提交至版本控制仓库,便于协作与回滚;对于WordPress等CMS或Wix等在线平台,可通过后台的编辑功能修改HTML并点击更新发布,部分平台需开启开发者模式;建议根据场景选择工具,本地开发搭配Git,网站维护用CMS,保存时注意备份以防误操作。
-
变量提升与暂时性死区共存,体现var、let、const在声明机制上的差异:var提升后初始化为undefined,可访问;let/const声明提升但未初始化,处于TDZ中,访问报错。
-
TypeScript是JavaScript的静态类型标注层,编译后仍为纯JS;它通过类型注解、接口等在开发阶段做静态分析,不改变运行时行为,可渐进式引入并弥补JS运行时类型检查的不足。
-
Flex导航栏小屏不折叠因flex-wrap:nowrap和min-width冲突;下拉菜单不显因z-index/position缺失;移动端:hover失效需改用:focus-within或JS;Safari14以下错位因flex:1解析bug,应写全参数。