var,let,const的区别

1.var

var 语句用于声明变量。
JavaScript 变量的创建也叫作"声明"一变量:

var name;

变量声明后,变量为空 (没有值)。
为变量赋值,操作如下:

name = "zhangsan";

声明变量时,你同样可以为变量赋值:

var name = "zhangsan";

可以在一个语句中声明多个变量。
语句以 var 开头,变量以英文逗号分开:

var name = "zhangsan",
age = 30,
job = "worker";

2.Let

1)let声明的变量拥有块级作用域
{
	let a=1;
}
console.log(a);
//Uncaught ReferenceError: a is not defined
2)let声明的全局变量不是全局对象的属性
var a=1;
console.log(window.a);//1

let b=2;
console.log(window.b);//undefined
3)let不能重定义变量
var a=1;
var a=2;
console.log(a);//2

let b=3;
let b=4;
console.log(b);//Identifier 'b' has already been declared
4)let声明的变量不会进行变量提升
function test(){
	console.log(a);//undefined
	var a=1;
}
test();

等价于

function test(){
	var a;
	console.log(a);//undefined
	a=1;
}
test();
function test(){
	console.log(b); //Cannot access 'b' before initialization
    at test
	let b=2;
}
test();

var定义的变量进行了变量提升,两个函数等价,let定义的变量则不能用于变量提升。

3.Const

const除了具有let的块级作用域和不会变量提升之外,还有两个特点:

1)在用const定义变量后,不能再修改值,否则会抛出异常。
const PI=3.14;
PI=5;
//Assignment to constant variable.
2)const声明的变量必须要初始化,否则会抛出异常。
const PI;
//Missing initializer in const declaration
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值