js定义变量的方式及其区别

js中三种定义变量的方式const, var, let的区别

1.const定义的变量不可以修改,而且必须初始化。

const test1 = 10;//正确
console.log('函数外const定义test1:' + test1);//有输出值
const test2;//错误,必须初始化 
test2 = 5;//不允许拆分初始化
console.log('函数外修改const定义test2:' + test2);//无法输出

2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错。

var test1 = 0;
console.log('函数外var定义test1:' + test1);//可以输出test1 = 0
var test2;//不会报错
function change(){
	test1 = 10;
	console.log('函数内var定义test1:' + test1);//可以输出test1 = 4
} 
change();
console.log('函数调用后var定义test2为函数内部修改值:' + test1);//可以输出test1 = 4

3.let是块级作用域,函数内部使用let定义后,对函数外部无影响。

let test = 5;
console.log('函数外let定义test:' + test);//输出test = 3
function change(){
	let test = 6;
	console.log('函数内let定义test:' + test);//输出test = 6
} 
change();
console.log('函数调用后let定义c不受函数内部定义影响:' + test);//输出test = 3

注意:let和const定义方式是ES6的新特性,IE10以下只支持ES5特性,如果使用会导致浏览器无法识别导致js文件无法正常被浏览器解析,导致乱码等问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值