JavaScript变量和常量

  • var 定义变量

    • var 申明变量时,变量作用域取决于当前位置的上下文:如果申明在函数内就是函数作用域,如果申明在函数外就是全局作用域

    • 不论在代码什么位置申明变量,执行引擎都会在任何代码执行前处理,所以建议将变量申明放到函数或者全局代码的开头部分

    • 未申明的变量会被添加作为全局作用域,所以不建议不申明变量就使用,严格模式下会抛出 ReferenceError

    • 申明变量在任何代码执行前创建,而未申明变量只有执行赋值操作时才被创建

  • let 定义块级变量(例如 if 代码块)

  • const 定义常量

    • const 用于申明一个或多个常量,申明时必须进行初始化,并且初始化之后值不可再修改

    • const 定义常量和 let 定义变量十分相似,都是块级作用域,都不能和它所在作用域内的其他变量或函数拥有相同的名称

参考