![](https://img.haomeiwen.com/i17606291/c2046966d7d26de2.jpg)
// 新的变量声明方式 let.const
// 特性:提供了块级作用域与不在具备变量提升
1、用老的方式var 来定义变量
(1)代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ES6变量申明-var操作符</title>
<script type="text/javascript">
function diff(){
for (var i = 0; i < 3; i++) {
console.log(i)
}
console.log('for循环结束了',i)
}
diff()
</script>
</head>
<body>
</body>
</html>
(2)效果
![](https://img.haomeiwen.com/i17606291/7146c709a191805f.png)
2、新方式let操作符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ES6变量申明-let操作符</title>
<script type="text/javascript">
//let 操作符
//块级作用域不再支持变量提升
function myfun(){
for (let i = 0; i < 3; i++) {
console.log(i)
}
console.log('for循环结束了',i)
}
myfun()
</script>
</head>
<body>
</body>
</html>
(2)效果
![](https://img.haomeiwen.com/i17606291/c8cca82ead7359cc.png)
3、let与const,let可以改变变量,const不可以改变变量
(1)let 定义变量
<script type="text/javascript">
let a=20
console.log(a)
a=40
console.log(a)
</script>
![](https://img.haomeiwen.com/i17606291/18006f8bac029b9f.png)
(2)const
<script type="text/javascript">
const b=20
console.log(a)
b=30
console.log(a)
</script>
![](https://img.haomeiwen.com/i17606291/be9fdf5c1c3df739.png)
总结:
1、let有块级作用域,不具备变量 (及避免了变量污染)
2、let申明值可以改变变量,const申明值不可以改变变量
![](https://img.haomeiwen.com/i17606291/ee8ba81d182c3458.jpg)
网友评论