-
JavaScript数据类型分原始类型和引用类型,原始类型按值访问、不可变,包括string、number、boolean、null、undefined、symbol、bigint;2.原始类型赋值时复制值副本,互不影响;3.引用类型存储对象地址,赋值时复制引用,指向同一对象则修改互相影响;4.原始类型比较基于值,引用类型比较基于引用地址;5.函数传参均为按值传递,引用类型传的是地址值,可修改对象内容但无法通过重新赋值改变外部引用。
-
date输入框的min/max属性仅支持YYYY-MM-DD格式字符串,动态设置需用setAttribute或格式化后赋值;其仅约束UI选择和提交校验,不阻止手动输入非法日期,且跨时区解析易出错。
-
异步组件配合mock数据开发的核心是模拟真实接口的延迟、错误与分段加载,通过defineAsyncComponent统一控制加载源,共用类型定义生成mock数据,并封装useApi代理层实现平滑切换。
-
HTML步骤条仅为视觉容器,无流程引导能力;是否需要JS控制取决于业务逻辑需求,如多步表单必须校验、同步状态、维护aria属性并处理前后导航逻辑。
-
必须拆开用IndexedDB管业务数据、CacheAPI管静态资源:前者支持结构化查询与事务,后者可拦截网络请求缓存资源;二者共用ServiceWorker生命周期但数据隔离,避免混存导致的TypeError或性能问题。
-
CSS-in-JS本身不提供实时计算CSS属性的运行时引擎,其“动态性”本质是将JS计算能力暴露给样式层;关键在于合理组织props、状态与样式函数的调用链,避免在样式插值中触发Hook、耗时操作或强制同步回流。
-
使用浏览器“另存为”功能可保存网页为HTM格式,选择“网页,仅HTML”适合保留文字结构,但可能缺失图片;2.选择“网页,全部”则同时生成HTM文件和资源文件夹,确保离线完整显示;3.开发者工具可手动复制HTML代码保存为HTM文件,适用于提取特定内容;4.第三方工具如HTTrack或WebCopy支持批量下载整个网站,自动处理资源路径,适合大型内容归档。日常推荐使用“另存为”并注意保留同名文件夹以确保页面正常显示。
-
1.事件循环非阻塞的核心在于将耗时I/O操作委托给操作系统或线程池处理,主线程继续执行其他任务;2.它通过调用栈执行同步代码、WebAPI处理异步任务、任务队列(宏任务)和微任务队列调度回调,实现逻辑并发;3.同步代码若长时间运行会阻塞事件循环,导致界面无响应、定时器延迟、回调无法执行;4.Node.js与浏览器事件循环均基于单线程和异步I/O,但Node.js使用libuv处理I/O、特有setImmediate和process.nextTick,且无UI渲染,而浏览器需处理用户交互和页面更新。
-
JavaScript创建自定义事件需用CustomEvent构造函数定义类型与detail数据,并调用dispatchEvent在目标元素触发;监听时用addEventListener,通过event.detail获取数据。
-
JavaScript数组方法的核心在于理解返回值类型、是否修改原数组及遍历时机;sort、reverse、splice、fill、copyWithin会意外修改原数组。
-
required属性通过浏览器内置验证提升用户体验和数据质量,1.确保必填字段不为空,2.提供即时反馈减少用户挫败感,3.过滤基础无效数据提高数据完整性。但仅依赖该属性并不安全,1.客户端验证易被绕过,2.无法阻止恶意请求,3.必须配合服务器端验证。结合JavaScript可实现更高级验证,1.自定义错误提示信息,2.动态条件验证,3.实时输入反馈增强用户体验。
-
MediaQuery是CSS3根据设备特性应用不同样式的机制,核心语法为@mediascreenand(条件){样式规则},常用min-width和max-width设置断点;推荐移动优先策略,先定义小屏样式,再逐步增强大屏体验,结合HTML的link标签可控制外部CSS文件的条件加载,提升性能与维护性。
-
IE8不支持oninput,必须用onpropertychange替代,但需过滤propertyName、防递归触发、处理disabled失效及JS赋值场景,contenteditable和textarea需轮询兜底。
-
JavaScript生成器函数是可暂停执行的函数,返回迭代器对象;调用后需用next()推进执行,yield暂停并输出值,return终止并设done:true。
-
用scrollHeight实现textarea高度自适应最稳定:每次input前先设style.height='auto',再读取并设置scrollHeight;需处理IE11换行符偏差和iOSSafari延迟问题。