JavaScript中var、let、const三种声明方式的区别

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(文章中有些代码有小错误,阅读请注意)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值