带你读书之“红宝书”:第三章 语法基础(上)3.3变量

带你读书之“红宝书”:第三章 语法基础(上)3.3变量
最新回答
满栀

2021-06-07 09:51:26

在“红宝书”第三章语法基础的3.3变量部分,核心内容如下

  • var关键字

    • 用途:用于声明变量,可以存储任何类型的值。
    • 作用域:函数作用域,即在包含该变量的函数内部有效。
    • 变量提升:var声明的变量会被提升到函数作用域的顶部,但赋值不会提升,默认值为undefined。
    • 重复声明:多次使用var声明同一个变量会合并为一次声明,以最后一次赋值为准。
    • 全局变量:省略var关键词直接书写变量名会被视为全局变量,在严格模式下会报错。
  • let关键字

    • 声明范围:块作用域,即在包含let关键词的块内部有效。
    • 不能重复声明:同一个变量只能使用let声明一次。
    • 无变量提升:let声明的变量不会提升到作用域顶部,使用前必须声明。
    • for循环中的行为:在for循环中,let声明的迭代变量会在每次循环时及时更新。
  • const关键字

    • 初始化:声明变量时必须同时赋值,且之后不能改变。
    • for循环中的使用:不能在for循环中声明迭代变量,但可以在循环内声明常量。
    • 限制:const声明的是常量,不能重新赋值,但如果是对象或数组,其属性或元素可以修改。
    • 作用域:与let相同,为块作用域。
  • 声明风格与最佳实践

    • 优先使用const:对于不需要改变的变量,应优先使用const声明。
    • 次选let:对于需要改变的变量,使用let声明。
    • 避免使用var:由于var的作用域和提升特性可能导致不易察觉的错误,因此应尽量避免使用。