JavaScript变量和常量

  • var 定义变量
    • var 申明变量时,变量作用域取决于当前位置的上下文:如果申明在函数内就是函数作用域,如果申明在函数外就是全局作用域
    • 不论在代码什么位置申明变量,执行引擎都会在任何代码执行前处理,所以建议将变量申明放到函数或者全局代码的开头部分
    • 未申明的变量会被添加作为全局作用域,所以不建议不申明变量就使用,严格模式下会抛出 ReferenceError
    • 申明变量在任何代码执行前创建,而未申明变量只有执行赋值操作时才被创建
  • let 定义块级变量(例如 if 代码块)
  • const 定义常量
    • const 用于申明一个或多个常量,申明时必须进行初始化,并且初始化之后值不可再修改
    • const 定义常量和 let 定义变量十分相似,都是块级作用域,都不能和它所在作用域内的其他变量或函数拥有相同的名称