<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<script>
//常规的随机数产生函数
function showRandom() {
var num=parseInt(Math.random()*10+1);
console.log(num);
}
//函数的调用,从而产生随机数
showRandom();
showRandom();
showRandom();
//闭包的方式,产生三个随机数,但是都是相同的
function f1() {
//产生随机数
var num=parseInt(Math.random()*10+1);
//返回一个函数,实现num的值共享,且不变
return function () {
console.log(num);
}
}
//调用闭包的外函数
var ff=f1();
//多次使用不变的随机数
ff();
ff();
ff();
//总结:如果想要缓存数据,就把这个数据放在外层的函数和里层的函数的中间位置
//闭包的作用:缓存数据.优点也是缺陷,没有及时的释放
//局部变量是在函数中,函数使用结束后,局部变量就会被自动的释放
//闭包后,里面的局部变量的使用作用域链就会被延长
</script>
</head>
<body>
</body>
</html>