1.以往js变量

  • var

    • 1.可以重复声明
    • 2.无法限制修改(指不能声明常量)
    • 3.没有块级作用域(指{}这样的)

2.现在ES6变量

  • let 不能重复声明-变量,可以修改,块级作用域
  • const 不能重复声明-常量,不可以修改,块级作用域

3.实例:块级作用域有什么用处

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>块级作用域03</title>
<script>
window.onload = function() {
var aBtn = document.getElementsByTagName('input')
// 效果1
// for (var i = 0; i < aBtn.length; i++) {
// aBtn[i].onclick = function() {
// alert(i);
// // 按钮执行结果三次全为3
// };
// }
// 效果2
// for (var i = 0; i < aBtn.length; i++) {
// (function(i) {
// aBtn[i].onclick = function() {
// alert(i);
// // 按钮执行结果三次分别为0,1,2
// };
// })(i);
// }
// 效果3
for (let i = 0; i < aBtn.length; i++) { aBtn[i].onclick = function() {
alert(i);
// 按钮执行结果三次也分别为0,1,2
};
}
}
</script>
</head>
<body>
<input type="button" value="按钮1">
<input type="button" value="按钮2">
<input type="button" value="按钮3">
</body>
</html>

最新文章

  1. JAVA GUI
  2. cordova添加plugin
  3. POJ 1860 Currency Exchange (最短路)
  4. Database and models
  5. python中的__init__ 、__new__、__call__等内置函数的剖析
  6. 【Python】Coding the Matrix:Week 5: Dimension Homework 5
  7. 总结一下.net framework适合装在哪些系统中
  8. ruby on rails创建的页面訪问很慢
  9. 2732: [HNOI2012]射箭( 半平面交 )
  10. 抽象方法不能是static或native或synchroniz
  11. Hibernate与Spring的事务管理
  12. 通过getResourceAsStream 获得Properties文件属性和属性值
  13. asd短片数篇
  14. cefsharp保存文件为pdf
  15. 《Go学习笔记 . 雨痕》反射
  16. os.walk的用法
  17. Mysql6.0连接中的几个问题 Mysql6.xx
  18. [TJOI2013]单词 AC自动机
  19. Date类型
  20. IOS面试题(二)

热门文章

  1. Linux查看redis占用内存的方法
  2. JAVA设计模式之桥接模式(bridge)
  3. STM32 OSAL操作系统抽象层的移植
  4. 【Poj-3693】Maximum repetition substring 后缀数组 连续重复子串
  5. vuecli3.x与vuecli2.x 主要区别
  6. tcp/ip 学习(一)
  7. linux 被入侵后扫尾工作
  8. python机器学习(五)回归算法-线性回归
  9. 关于react的一些总结
  10. react-router 4v 路由嵌套问题