使用var声明变量
在 JavaScript 中通常使用 var 关键词来声明变量:
var carname;
变量声明之后,该变量是空的(它没有值),未赋值声明的变量,其值实际上是 undefined
。如需向变量赋值,请使用等号:
carname="Volvo";
不过,也可以在声明变量时对其赋值:
var carname="Volvo";
也可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:
var lastname="Doe", age=30, job="carpenter";
但一条语句中声明的多个变量不可以同时赋同一个值:
var x,y,z=1;
x,y 为 undefined
, z 为 1。
如果重新声明 JavaScript 变量,该变量的值不会丢失:
var carname="Volvo";
var carname;
两条语句执行后,变量 carname 的值依然是 “Volvo”
JavaSript 作用域
作用域是可访问变量的集合。
局部作用域和局部变量
变量在函数内声明,变量为局部变量,具有局部作用域。局部变量只能在函数内部访问。
// 此处不能调用 carName 变量
function myFunction() {
var carName = "Volvo";
// 函数内可调用 carName 变量
}
因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。
另外函数参数只在函数内起作用,是局部变量。
全局作用域和全局变量
变量在函数外定义,即为全局变量,具有全局作用域。 全局变量正在网页中所有脚本和函数均可使用。
var carName = " Volvo";
// 此处可调用 carName 变量
function myFunction() {
// 函数内可调用 carName 变量
}
如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
// 此处可调用 carName 变量
function myFunction() {
carName = "Volvo";
// 此处可调用 carName 变量
}
小结
JavaScript 变量生命周期在它声明时初始化。局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。
变量在函数内声明,变量为局部变量。变量在函数外定义,即为全局变量。
函数参数只在函数内起作用,是局部变量。
const 和 let
ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和