1.变量 和 赋值
let let是块级作用域,函数内部使用let定义后,对函数外部无影响。
可以重复定义
可以限制修改
有块级作用域
const const定义的变量不可以修改,而且必须初始化。
不可以重复定义
常量
有块级作用域
赋值==》解构赋值
1.左右两边必须一样
2.右边必须是个东西 符合语法规范
3.必须定义和赋值同步完成
var var定义的变量可以修改,如果不初始化会输出undefined,不会报错,没有块级作用域。
可以重复定义
不可以限制修改
没有块级作用域
<body>
<input type="button" value="1">
<input type="button" value="2">
<input type="button" value="3">
<script>
// const 有块级作用域
if(1){
const rhz=10;
}
const rhz="rhz";
console.log(rhz);
//var 可以二次声明 var定义的变量在window身上 window.a window为全局的 for循环
var a=10;
var a=20;
//let 不可以重复定义
// let a=20;
// let a=30;
console.log(a);
var Input=document.querySelectorAll("input");
// var
for (var i = 0, len = Input.length;
i < len; i++) {
(function (i) {
// i 0 1 2 ..... x
// 闭包!!
Input[i].onclick = function () {
console.log(i);
}
})(i)
}
// let
for (let i = 0, len = Input.length;
i < len; i++) {
Input[i].onclick = function () {
console.log(i);
}
}
</script>