这篇文章主要介绍了let与var声明变量区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。
主要探讨let和var的作用域
ES6 新增了let命令,用来声明局部变量,所声明的变量,只在let命令所在的代码块内有效
1.ES6可以用let定义块级作用域变量
function f1(){
{
var a=5;
let b=5;
}
console.log("a:"+a) //a:5
console.log("b:"+b) //Uncaught SyntaxError: Unexpected identifier
}
f1();
结果表明:在ES6之前只有全局作用域和函数作用域,在ES6中新增了块级作用域,用{}花括号表示。var 声明的变量a在花括号外面仍然是会起作用的,但是let声明的变量b只有在花括号里面才会起作用的,在块级作用域内。
2.const的使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
const a ='a';
a='b';
</script>
</body>
</html>
可见 用const声明的变量不可以修改否则会报错(let可以修改)