1、 ES6语法let、const

let 相当于之前的var 

const  常量,定义好了不能改变

let注意:

            1、没有预解析,不存在变量提升

                在代码块内,只要let定义变量,在之前使用,都是报错(先定义再使用)

            2、同一个块级作用域不能去重复定义变量,但可以赋值

<script>

{//第一个块级作用域

let i = 12;

{//第二个块级作用域

let i = 5;

console.log(i);

}

console.log(i);

}

</script>

            3、for循环,for循环里面是父级作用域,在里面的是块级作用域

for(let i = 0;i<10;i++){//父级作用域

let i= 'abc';//子集作用域

console.log(i);

}

块级作用域:{

//块级作用域

}

if(){}

for(){}

while(){}

<script >
			var arr = [];
			for (let i = 0; i < 10; i++) {
				//TODO
				arr[i] = function(){
					console.log(i);
				}
			}
			arr[3]();
			
			
		</script>

用于选项卡处理

<input type="button" name="" id="" value="11" />
		<input type="button" name="" id="" value="22" />
		<input type="button" name="" id="" value="33" />
		<script >
			window.onload = function(){
				var aInput = document.querySelectorAll('input');
				for(let i = 0; i<aInput.length;i++){
					aInput[i].onclick = function(){
						alert(i);
					}
				}
			}
		</script>

const  常量,定义时必须有值,不能后赋值,不能修改;如果是数组,对象的方法还是可以用

object.freeze(对象);

const arr = Object.freeze(['1','2'])  无法改变


猜你喜欢

转载自blog.csdn.net/memedadexixaofeifei/article/details/79453137