幽灵资源网 Design By www.bzswh.com
闭包定义
在JavaScript中,当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。简单说,闭包就是能够读取其他函数内部变量的函数。
闭包的作用:
1. 可以读取函数内部的变量
2. 让这些变量的值始终保持在内存中。
闭包简单应用
例一:
function a() {
var i = 0;
function b() {
console.log(++i);
}
return b;
}
var c = a(); //执行完var c=a()后,变量c指向了函数b,再执行c()后就会显示i的值(为1)。
c(); //输出1
例二:
(function() {
var i = 0;
return function(){
console.log(++i);
}
})()(); //输出1
例三:
(function(i) {
return function(){
console.log(++i);
}
})(0)(); //输出1
例四:
for (var i = 0; i < 3; i++) {
setTimeout((function(i) {
return function() {
console.log(i);
};
})(i), 2000);
console.log(i+10);
} //输出 10 11 12 (隔两秒后)0 1 2
例五:
for (var i = 0; i < 3; i++) {
setTimeout((function(i) {
return function() {
console.log(i);
};
})(i)(), 2000);
console.log(i+10);
} //立即输出 0 10 1 11 2 12 ,(两秒后运行程序结束)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
js,闭包
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...