js中变量的作用域分几种?分别是什么? js 变量作用域
在 JavaScript 中,let 和 const 是作用域,var 是函数或全局作用域;两者均具备 TDZ、不可重复声明、不挂窗等特性,但 const 必须初始化且不能重复创建,建议优先使用 const。是函数作用域(或全局作用域),这是它们最核心的区别。理解作用域,可以避免变量污染、意外覆盖和引用错误。let 和 const 的作用域完全相同。
它们仅在括号 {} 内的声明中有效——包括 if、for、while、内部函数等任何代码块级结构。
访问块外:ReferenceError:xxx 未定义。同一作用域不能重复,否则会直接报错。所有“临时性死区”(TDZ):在声明语句执行之前访问,哪怕在上品块内,也会报错。let 声明它可以被修改,适用于以后需要修改的变量;const 声明它不能被修改,强调“这个变量名始终指向同一个值”。 let count = 1; count = 2; ✅ 合法 const PI = 3.14; PI = 3.1415; ❌ 运行时:TypeError: 赋值给常量变量 const obj = {a: 1}; obj.a = 2; ✅ 合法(对象内容可以更改,只是不能将 obj 指向新对象) const arr = [1]; arr.push(2); ✅ 合法;但是 arr = [3]; ❌ 报错 const 必须初始化,let 不能是临时值const 声明必须接近一个初始值,没有默认值,并且不允许为空。
公司AI开放平台
腾兰AI开放平台381查看详情
立即学习“Java免费学习笔记(去生)”;const名称;❌语法错误:const声明中缺少初始化器letage;✅合法,此时age未定义 const user = {};✅推荐写法:使用const声明对象/数组,然后逐步填充其中的内容,它们不会附加到整个窗口对象上, var在天基城手机会电影电影窗口的属性,容易引起命名冲突;而let和const则不会。 var dog = 'wangcai'; console.log(window.dog); → 输出“;wangcai”; let cat = 'miaomiao'; console.log(window.cat); → undefined const bird = 'tweety'; console.log(window.bird); → undefined
基本上就少分。 选择 let 仍然是 const,上面用 const —— 除非你清楚地知道这个变量将来会被重新赋值。 这不仅是一种编码习惯,也是一个让代码更安全、更易读的关键细节。
以上是 JavaScript 和 const 的区别?JavaScript 和 const 有什么区别?相关文章:JavaScript Java 代码浏览器 AI 赢 JavaScript 中 if 计数 for while const 变量 var console undefined 的区别 JavaScript 中的 Map 和 Set 是什么?何时体利天头?如何使用 JavaScript 实现本地存储?JavaScript 的 find 和 findIndex 如何使用?何时全名分名?
