1、ECMAScript变量
ECMAScript的变量是松散类型的,所谓松散类型就是可以保存任何类型的数据,换句话说每个变量仅仅是一个用于保存值的占位符。
变量使用过程:声明->赋值->调用
生命周期:
函数外:
产生:js加载到该变量所在行时产生;
死亡:js代码加载完毕,变量死亡。
函数内:
前提:该变量所在的函数被调用;
产生:js执行到该变量所在行时产生;
死亡: 该变量所在的函数执行行结束。
2、var声明方式
1)var声明的变量可以是全局的(函数外面),也可以是函数级的(函数内部)
2)变量定义后无论在任何位置,都会在代码执行前处理;
3)在函数外声明一个变量,如果在函数内再用var声明一次并改变其值,不会改变其函数外的值,如果直接赋值,则变量本身值被改变。
使用var声明赋值:
var varLocation = “函数外部声明并赋值”;
function test(){
var varLocation = “函数内部改值”;
alert(varLocation); // 函数内部改值
}
test();
alert(varLocation); // 这是一个局部变量
直接赋值:
var varLocation = “这是一个全局变量”;
function test(){
varLocation = “这是一个局部变量”;
alert(varLocation); // 这是一个局部变量
}
test();
alert(varLocation); // 这是一个局部变量
3、const声明方式
1)const用于修饰常量,定义的变量不可修改,而且必须初始化,声明位置不限(通常声明在js开头)。
const testConstant = “测试常量”;
function test(){
alert(testConstant);//测试常量
testConstant = “改变常量值”;
alert(testConstant);//报错
}
test();
alert(testConstant);//报错
3、let声明方式
let声明的变量在{}中使用,变量的作用域限制在块级域中。
参考文献:https://www.cnblogs.com/amujoe/p/8874343.html(文章中有些代码有小错误,阅读请注意)