发表于: 2020-02-11 23:34:18

1 1561


今日完成:

x[0].onclick=function(){//点击身份,显示身份索引值对应索引值的杀手图标
for(var i=0;i<cc4.length;i++){//显示图标之前,先重置图标隐藏
y[i].style.visibility="hidden";
}
y[0].style.visibility="visible";
}
x[1].onclick=function(){//点击身份,显示身份索引值对应索引值的杀手图标
for(var i=0;i<cc4.length;i++){//显示图标之前,先重置图标隐藏
y[i].style.visibility="hidden";
}
y[1].style.visibility="visible";
}
....*18
可以缩写成;
for(let a=0;a<cc4.length;a++){
x[a].onclick=function(){
y[a].style.visibility="visible";
}
}
但是换成:
for(var b=0;b<cc4.length-1;b++){
x[b].onclick=function(){
y[b].style.visibility="visible";
}
}
就不行
不理解的地方,都是局部变量换成var就不行,
我原本的理解的let的局部变量
var x=1
function(){
let x=0
输出 x=0
}
输出x=1
但是在例子中,let相当于从零开始,赋值进执行函数,然后1直到a<cc4.length结束,每次的值都有输出结果,互不影响,
而用var每次也有结果,但是只显示最后一次,
就相当于
var a=1
var a=0
输出a=0(后面的覆盖前面的)



返回列表 返回列表
评论

    分享到