JavaScript闭包--学习总结
来源:互联网 发布:刷脸开机软件 编辑:程序博客网 时间:2024/06/05 19:03
JavaScript 闭包是前端js迈向高手的必经之路,是js学习的重点,也是难点,究竟闭包是什么?为什么要使用闭包?
闭包:这个术语非常古老,是指函数变量可以被隐藏在作用域链内,因此看起来是函数将变量“包裹起来”。很难懂,简单理解就是读取其他函数内部变量的函数。创建闭包的常见方式就是函数内嵌套函数,将内部函数的运行结果return 。
理解闭包,首先理解什么是作用域链。
作用域链(scope chain) 作用域形成的链条,显著特点是 子作用域可以访问父作用域的变量和函数名,但是父作用域无法访问子作用域的变量和函数名。
var n=999; function f1(){ alert(n); } f1(); // 999但是,父作用域却无法访问内部作用域的变量和函数名
function f1(){ var n=999; } alert(n); // error而在js的编程中,很多时候都有外部作用域访问内部作用域的变量和函数名的需求,所以 该如何突破作用域链的限制,实现这样的需求呢?
闭包,就闪亮登场了
看下面这段代码:
function f1(){ var n=999; function f2(){ alert(n); } return f2; } var result=f1(); result(); // 999
其中
function f2(){ alert(n); }就是闭包,它的作用就是为了外部作用域可以访问内部作用域变量 n ,就是将函数内部与外部连接起来的桥梁。
0 0
- javascript闭包学习总结
- 学习总结 javascript 闭包
- JavaScript闭包--学习总结
- 3 javascript闭包学习总结
- JavaScript学习总结——Javascript闭包(Closure)
- JavaScript闭包总结
- javascript闭包总结
- 【javascript】学习Javascript闭包
- JavaScript学习总结二:js闭包(Closure)概念
- 学习Javascript闭包
- 学习javascript闭包
- javascript 闭包学习
- javascript 闭包学习
- JavaScript 闭包学习
- 学习Javascript闭包
- JavaScript闭包学习
- 学习JavaScript闭包
- 学习JavaScript闭包
- XX项目知识点汇总(4)
- Unity 简易读取配置文件内容(txt,懒人用)
- 水平居中
- gulp基本用法
- Myeclipse 启动Tomcat时出现class file editor
- JavaScript闭包--学习总结
- 几个简单的背包问题
- GitHub上好用的开源库
- 2005年浙江大学计算机及软件工程研究生机试真题并查集UnionFindjava实现
- 详谈内存管理技术
- p12文件中导出公钥和私钥
- Java中的String类常量池详解
- MongoDbHelper
- Qt中如何将char*转LPCWSTR