跳到主要内容

JavaScript 变量

阐述

语法

var, let, 或 const 定义变量,变量命名可以用包括字母、下划线、$ 和数字在内的大多数 Unicode 字符,但不能以数字开头。const 变量必须初始化。变量初始化时支持 JavaScript 解构赋值

语义

varlet 变量不初始化时默认为 undefined

var

var 用于声明全局、模块或函数作用域内的变量。不在任何函数内定义的变量具有全局作用域;以变量方式定义的函数也是一个全局变量。

由于 var 变量不具有块作用域,它在函数体内的实际行为是「变量提升」,即表现得如同在函数开头声明或全局开头声明一样。

  • 被提升的值在实际赋值前获得值 undefined;所以我们如果要使用 var 变量,最好在函数内部首先声明所有变量。
  • 被提升的函数将与其定义一同提升

let

let 除了 var 的语义外,还可以声明块作用域(如 if, while, for 等的花括号)内的变量。

const

const 用于定义全局、模块、函数或块作用域内的常量。

全局变量

在浏览器中,全局作用域的变量本质上是 window 的一个属性,可以用 window.xxx 访问;在所有环境中,都可以用 globalThis 来指代这个全局对象。

实例

性质

相关内容

参考文献