{块};
var 和let 的区别;
alert(a);
var a=1;//un;
let a=1;//报错;;一般他的作用域只在块里;
var a=1;
var a=2;
alert(a);
//换let 的话包不能重复声明;
1:for( var i=0;i<10;i++){
console.log(i);
}
换let;
2:
for( var i=0;i<10;i++){
}console.log(i);
换let;undefied;
3:
for( var i=0;i<10;i++){
1:document.onclick=function fn(){
console.log(i);//i:10;
}
}
2:document.onclick=function fn(){
console.log(i);
}
//i:10;
4:var arr=[];
for( var i=0;i<10;i++){
arr.push(function(){
console.log(i);})
}
arr[0]//10;
arr[1]//10;
5:var arr=[];
for( let i=0;i<10;i++){
arr.push(function(){
console.log(i);})
}
arr[0]//10;
arr[1]//10;
6:for( let i=0;i<10;i++){
fn():
}
function fn(){
console.log(i);
}//找不到
7:
:for( let i=0;i<10;i++){
fn(i):
}
function fn(i){
console.log(i);
}//找到(不同的i)
8:let i=1;
function fn(){
i=2;//向上找到外表面的i;
}
fn():
alert(i);//2;
9:let i=1;
function fn(){
i=2;
var i;
}
fn()://局部变量执行完就销毁;了
alert(i);//1;
10:let i=1;
function fn(){
i=2;
let i;//let 不许提前申明;报错(后面的不执行),不允许重复声明;声明的变量只在代码快中有效;
}
fn()://局部变量执行完就销毁;了
alert(i);//1;
11:const a=1;//常量
alert(a);
const a=2;//
12:const obj={
name:"000";
}
对象:应用的只是指针;可以改变;
obj.name="123";
alert(obj.name)
freeze();冻结