今天在csdn上解决问题时候,看到两个自己也不懂的问题。
1.localStorage、sessionStorage、Cookie的区别及用法。主要是localStorage,感觉很好用。还有个小例子,比如给新用户一个好看的弹框,或者只给第一次进入网页的用户一个小广告,嘿嘿~之后的在进入该网页又没有广告。可以使用localStorage存储数据,然后之后再验证是否是第一次进入。非常好用,以后一定要试试!
2.这第二个就是var 和 let 在for循环中的区别,其实就是他两个的作用域区别。个人理解,也不知道对不对:首先var定义的变量引用的时候是全局变量,let则是局部变量。JavaScript没有块作用域,只有函数作用域。但是for循环他又不是一个函数,所以,for(var i=0;i<x;i++) 这个循环最后所有的i都是x了,很尴尬。es6引入let就很好解决了。自己写了点测试代码仅供参考。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
<script>
var funcs = [];// let's create 3 functions
for (var i = 0; i < 3; i++) {
(function(){
var j=i;
funcs[j] = function() {
console.log("My value: " + j);
}
}())
}
// var funcs = [];// let's create 3 functions
// for (let i = 0; i < 3; i++) {
//
// funcs[i] = function() {
// console.log("My value: " + i);
// }
}
for (var k = 0; k < 3; k++) {
funcs[k]();
}
//循环的时候,函数并不会立即执行。var i ;i是全局变量,所以存在内存中。循环结束后,i的值变为循环的次数值。再执行函数,倒是所有的数都一致
// var是以全局变量传递,let以局部变量传递
</script>
</html>
如有问题,请各路大神不吝赐教!
加油!加油!加油!榕,我们一起进步!