前端学习日记19-7-24

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41191401/article/details/97138167

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

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

 

 

 

 

加油!加油!加油!榕,我们一起进步!

 

展开阅读全文

没有更多推荐了,返回首页