>[danger]**1. 概念**
>[info]闭包就是两个函数,一个函数包含另一个函数,在函数外使用函数内的局部变量,并且在函数执行后,内存不被释放,外面的函数就叫闭包;
>[danger]**2. 在函数外调用函数内的局部变量**
~~~
function t1(){
//定义一个局部变量
var a = 999;
//定义一个可以获取局部变量的函数
function t2(){
console.log(a++);
}
return t2;
}
f = t1(); // 将t1()函数返回赋值给f,那么f = t2;
e = f(); // e = t2();
console.log(e); //调用t2函数第1次 1;
console.log(e); //调用t2函数第2次 2;
console.log(e); //调用t2函数第3次 3;
~~~
>[danger]**3. 练习(点击下面的li标签,弹出它的下标)**
~~~
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
~~~
~~~
function outlog(i){
function inlog(){
alert(i);
}
return inlog;
}
//捕获所有的li标签DOM节点对象
var lis = document.getElementsByTagName('li');
for(var i = 0;i < lis.length;i++){
//绑定事件,点击某个li标签的时候,执行outlog函数
lis[i].onclick = outlog(i);
}
~~~
- 概要
- HTML
- CSS
- PHP
- Mysqli
- Mysqli 连接查询
- Mysqli 左外连接查询
- Mysqli 右外连接查询
- JavaScript
- JS 变量和常量的定义
- JS 运算符
- JS 流程控制
- JS 函数
- JS 数组
- JS数据类型
- JS 错误处理
- JS作用域
- JS 节点操作
- JS 遗留DOM
- JS 闭包
- JS 对象(构造函数)
- JS JSON
- JS 节点属性操作
- JS 设置CSS样式
- JS 获取元素位置
- JS 事件
- JS 内置对象
- String 对象
- Date 对象
- Array 对象
- Math 对象
- Window 对象
- navigator 对象
- screen 对象
- location 对象
- Ajax
- 创建 Ajax 对象(兼容)
- AJax 对象属性和方法
- Ajax get 五步骤
- Ajax post 六步骤
- Ajax get&post 封装
- XML
- XML 语法&格式
- DOM 节点创建XML
- PHP 创建XML
- xmlwrite 类创建XML
- xmlReader 类解析xml
- JQuery
- JQuery 选择器
- JQuery 事件
- JQuery 节点之间的操作
- JQuery html属性设置
- JQuery Class属性设置
- JQuery CSS样式设置值
- JQuery 文本内容获取
- JQuery 动画特效
- JQuery 数组&对象遍历
- JQuery 对象扩展方法
- JQuery Ajax操作
- JQuery Pjax
- JQuery Layer前端框架
- JQuery validation 插件
- ThinkPHP5
- 数据库配置
- 基本操作
- 查询构造器
- 查询数据
- 增加数据
- 更新数据
- 删除数据
- Session
- Cookie
- Linux
- 指令分类
- 文件属性
- 文件处理命令
- 帮助命令
- 解压缩命令
- 网络通信命令
- 系统开关机
- Shell使用技巧
- VIM+vi 指令