简言之
var 特点:
可以重复声明
无法限制修改
没有块级作用域
let特点:
不能重复声明
变量-可以修改,块级作用域
const特点:
不能重复声明
常量-不能修改,块级作用域
代码块中有点乱请见谅!!
<body>
<input type="button" value="非常卡爱的按钮1">
<input type="button" value="非常卡爱的按钮2">
<input type="button" value="非常卡爱的按钮3">
<script>
var c;
//1 可以重复声明 2 无法限制修改 3 没有块级作用域
//
//let 不能重复声明,变量-可以修改,下方两行代码正常运行
let a = 12;
a = 5;
console.log(a);
console.log("下方举例代码块if(){},这时后面是alert无法读取if代码块中的aa变量,这是let声明变量的特性");
if (true) {
let aa = 22;
}
//alert(aa);
console.log("使用for循环对实例中的三个input按钮设置,使点击按钮式显示当前按钮索引值");
console.log("原始写法输出结果如下,是使用函数限制的作用域")
var btn = document.getElementsByTagName('input');
for (i = 0; i < btn.length; i++) {
(function (i) {
btn[i].onclick = function () {
console.log(i);
//此时的i是相当于使用var
}
})(i)
}
console.log("let写法输出结果如下")
/* for (let i = 0; i < btn.length; i++) {
btn[i].onclick = function () {
console.log(i);
//此时的i是相当于使用var
}
} */
//
//const 不能重复声明,常亮-不可修改,下方两行代码会出错
const b = 12;
//b = 10;
console.log("将上行屏蔽代码解除会报错,原因const声明常量不可改变" + b);
</script>
</body>