《ECMAScript6 入门》
2024-10-07 06:52:39
闭包:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
闭包是函数和声明该函数的词法环境的组合。
let:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/let
let 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值。
例:闭包和 let 修正匿名函数访问的变量
function foo(){
var bar = [];
for (var index = 0; index < 9; index++) {
bar[index] = function(){
return index;
}
}
return bar;
}
function foo_closures(){
var bar = [];
for (let index = 0; index < 9; index++) {
(bar[index] = function(){
return index;
})()
}
return bar;
}
function foo_let(){
var bar = [];
for (let index = 0; index < 9; index++) {
bar[index] = function(){
return index;
}
}
return bar;
}
for(var d of foo()){
console.log(d());// 9个9
}
for(var d of foo_closures()){
console.log(d());// 1,2,...8
}
for(var d of foo_let()){
console.log(d());// 1,2,...8
}
最新文章
- Go语言 模板的使用(二)
- kali driftnet
- iOS设计模式笔记
- LINUX运维实战案例之文件已删除但空间不释放问题的分析与解决办法
- u3d_Shader_effects笔记2 自定义surfaceDiffuseLight
- Spark1.0.x入门指南
- MYSQL系列1_MySQL的安装,可视化工具的使用,以及建库建表等
- PHP中如何设置error_reporting错误报告级别
- JS自执行函数的几种写法
- WPF 利用子线程弹出子窗体的研究
- 总结的OSM 地图相关的分析
- MongoDB【第二篇】集群搭建
- 利用HTML5判断用户是否正在浏览页面技巧
- 前端-Useful Js Plugins
- C#之Winform跨线程访问控件
- SSH框架用法,及作用(在一位菜鸟使用半年之后归纳的总结)
- layui内部使用jQuery
- Linux:去除每一行行首的空格
- Python1 简介及安装、基础
- HDU 1671 Phone List (qsort字符串排序与strncmp的使用 /字典树)