[问答题]
var let const 块级作用域
1.var不存在块级作用域概念,但可以跨块访问(同个函数内的块),但不能跨函数访问,可以重复声明,存在变量提升(在定义前就能使用) 2.let块级作用域,不能跨块访问,不能跨函数访问,同一个块中不能重复声明,可以重新赋值,不存在变量提升 3.const块级作用域,不能跨块访问,不能跨函数访问,同一个块中不能重复声明,不可以重新赋值,不存在变量提升 尽可能使用let和const,可以避免变量提升和重复声明问题。
发表于 2023-10-29 19:19:36 回复(0)
共同点:都是声明函数变量的关键字 不用点:作用域,赋值喝重复声明方向有所不用。 var作用域是函数级别的,在全局作用域中声明的变量会成为全局对象的属性 let作用域是块级的,只在申明里有效,循环中,每次迭代会更新 const也是块级,其值不会被重新赋值 尽可能的使用let和const,避免变量提升和重复声明的问题
发表于 2023-07-15 19:13:03 回复(0)
let和const有块级作用域,声明的变量只在块级作用域中可以使用。var没有有块级作用域;
编辑于 2023-12-28 15:11:00 回复(0)
var:没有块级作用域的概念,可以跨块访问,但不能跨函数访问,var声明的变量存在变量提升,即在声明之前就可以使用这个变量。 let:块级作用域,不能跨块访问,也不能跨函数访问,不存在变量提升,必须在声明之后才能使用这个变量,不能在同一个作用域内重复声明。 const:块级作用域,用于定义常量,使用时必须初始化,并且不能修改,不存在变量提升,不能再同一个作用域内重复声明。
发表于 2023-09-26 15:17:10 回复(0)
var 声明全局变量,没有块级。 let 声明的变量,有块级作用域,可以重复声明,覆盖之前的声明,声明的变量可以修改。 const 声明变量,有块级作用域,不可以重复声明,其堆指针不可以改变。
发表于 2023-08-17 09:31:16 回复(0)
var声明变量的作用域是函数级别的,不受块级作用域的限制。在全局作用域中声明的变量会成为全局对象的属性 let声明的变量是块级作用域,只在声明的块内有效。在for循环中,每次迭代都会创建一个新的变量 const声明的变量也是块级作用域的,和let类似,但是其值不能被重新赋值,只能被赋值一次 在开发中,禁垦地使用let和const来代替var,避免变量提升和重复声明的问题,以及更好地控制变量的作用域,提高代码的可读性和可维护性。
发表于 2023-07-06 16:10:25 回复(0)
var声明的变量没有块级作用域,例如for循环中定义的索引,由于使用var声明,会导致该索引变量成为一个全局变量,会污染全局变量空间,而let,const创建的变量存在块级作用域,例如for循环中使用let定义的索引变量,每次循环都会创建一个新的变量,不会成为全局变量,const同理。
发表于 2023-04-17 22:04:02 回复(0)