<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
<script type="text/javascript">
{
let j;
for(j=0;j<10;j++){
let i=j;
console.log(i);
}
}
//一个简单的闭包作用域考察
function foo() {
var b=a*2;
function bar(c) {
console.log(a,b,c);
}
bar(b*3);
}
foo(2);// 2 4 12
//先后顺序并不一定靠谱
a=2;
var a;
console.log(a);
//闭包的demo
function foo() {
var a=2;
function bar() {
console.log(a);
}
return bar();
}
var baz=foo();
// 循环和闭包
for(var i=1;i<=5;i++){
(function () {
setTimeout(function timer() {
console.log(i);
},i*1000)
})();
}
//调整让上面的循环和闭包能正常工作
for(var i=1;i<=5;i++){
(function (j) {
setTimeout(function timer() {
console.log(j);
},j*1000)
})(i);
}
//我们换成let来实现一次
for(let i=1;i<=5;i++){
setTimeout(function timer() {
console.log(i);
},i*1000)
}
</script>
</html>
你不知道的javascript 上卷 读书笔记
原创
©著作权归作者所有:来自51CTO博客作者成都阿信的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:走进React的学习之路
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
#HarmonyOS NEXT体验官# 鸿蒙next 数据持久化 你不知道的事情数据 持久化 首选项
-
你不知道的 JavaScript - “this”
JavaScript 里的 this 到底指得是什么?很多人都会告诉你 this 指的是当前对象。这样理解对么?在大多数情况下确实没错。比如我们经常
JavaScript prototype HTML ViewUI 作用域