淘先锋技术网

首页 1 2 3 4 5 6 7

今天在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 functionsfor (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>

如有问题,请各路大神不吝赐教!