java
-
javascript如何操作数据库_IndexedDB的基本概念是什么
IndexedDB 是浏览器内置的异步、持久化客户端 NoSQL 数据库,基于对象仓库和索引实现结构化数据存储,适用于离线应用与本地缓存,不支持 SQL 关联查询,不能替代服务端数据库。 JavaScript 本身不能直接操作传统数据库(如 MySQL、PostgreSQL),它运行在浏览器环境中,…
-
为什么javascript是单线程的_异步编程如何实现?
JavaScript 是单线程的,因其运行环境仅提供一个调用栈和一个任务队列,避免多线程同步问题;但通过宿主环境的异步能力(如定时器、网络请求)和事件循环机制(宏任务与微任务协作),实现高效并发。 JavaScript 是单线程的,是因为它的运行环境(比如浏览器或 Node.js)只提供一个调用栈和…
-
如何使用JavaScript格式化代码_Prettier和ESLint有什么区别呢
Prettier 负责代码格式统一,ESLint 专注逻辑错误与质量检查;二者分工明确、互补协作,通过 eslint-config-prettier 避免冲突,实现提交前自动检查与格式化。 直接用 Prettier 格式化代码,用 ESLint 检查逻辑和潜在错误——两者分工明确,配合使用效果最好。…
-
javascript中严格模式是什么_它如何帮助避免错误?
严格模式是JavaScript中通过”use strict”启用的更严格语法和错误处理机制,禁用易错特性、防止意外创建全局变量、使静默失败操作显式报错、增强this一致性、限制不安全语法,并在ES6模块和类中自动启用。 严格模式(Strict Mode)是 JavaScrip…
-
javascript如何实现迭代器_ Symbol.iterator怎么用
JavaScript迭代器是统一遍历机制,核心是实现Symbol.iterator方法,该方法返回含next()的对象;Symbol.iterator是内置symbol,作为可迭代协议入口,原生对象如Array、String等默认支持,也可为自定义对象手动添加。 JavaScript 中的迭代器(I…
-
JavaScript中箭头函数的特点_this指向如何
箭头函数的 this 继承外层普通函数作用域的 this 值,不绑定执行上下文;不能用 call/apply/bind 修改,不可作为构造函数,无 arguments 对象。 箭头函数的 this 不绑定执行上下文,而是继承外层普通函数作用域中的 this 值——这是它最核心的特点,也是和传统函数最…
-
JavaScript中如何声明变量_var_let_const的区别是什么
JavaScript中变量声明方式的核心区别在于作用域、变量提升和可赋值性:var是函数作用域且存在变量提升,let和const是块级作用域并受暂时性死区限制;var可重复声明和赋值,let可重新赋值但不可重声明,const不可重新赋值但允许修改其引用对象的属性。 JavaScript 中声明变量有…
-
javascript的Proxy是什么_如何用它实现高级对象控制?
Proxy 是用于拦截并自定义对象基本操作的构造器,通过 handler(含 get、set、has、ownKeys 等 trap)与 target 构建代理层,实现响应式、校验、日志等高级功能。 Proxy 是 JavaScript 中用于拦截并自定义对象基本操作的构造器。它不修改原对象,而是创建…
-
javascript的Canvas怎么绘制图形_基本绘图API有哪些?
Canvas绘图基于2D渲染上下文,通过命令式API操作路径实现;需先获取ctx = canvas.getContext(‘2d’),再用fillRect/strokeRect或beginPath+moveTo+lineTo+arc+fill/stroke绘制,配合样式设置与…
-
如何理解JavaScript中的闭包概念_它在实际项目中有哪些应用场景?
闭包是函数与其词法作用域的组合,即内部函数引用外部函数局部变量且外部函数返回该内部函数,从而保持变量在内存中持续可用;常用于模拟私有变量、事件状态保持、柯里化及API封装等实际场景。 闭包是函数与其词法作用域的组合,简单说:一个函数记住了它被定义时所在环境中的变量,即使外部函数已经执行完毕,这些变量…