Javascript闭包
来源:互联网 发布:淘宝卖家如何借贷 编辑:程序博客网 时间:2024/06/06 18:56
Closures are functions that refer to independent (free) variables (variables that are used locally, but defined in an enclosing scope). In other words, these functions ‘remember’ the environment in which they were created. — MDN
看不懂上面的英文这么办,下面是中文翻译
闭包是指那些能够访问独立(自由)变量的函数 (变量在本地使用,但定义在一个封闭的作用域中)。换句话说,这些函数可以“记忆”它被创建时候的环境。
关于闭包已经有很多很多的文章了,文章的最后会放一些链接,在这里我只写以下几点
- 闭包的实现是因为Js中有函数作用域,变量查询是一级一级查询上去,直到根作用域也就是说在任何一级的作用域中都可以访问之前所有作用域连的变量,同时内存回收机制是不会回收还被引用的变量。
- 闭包不是实现Js类的基础,但是可以通过闭包实现类的私有变量和私有函数
- 闭包的性能很差,有时候可以绑定在prototype中(只可以访问this下的变量)
//在这个例子中firstName和LastName不想直接被外界访问,同时可以使用闭包使外界获取到值,//同时函数尽量绑定在prototype上,所以getFullName绑定在prototype上,//所以我个人认为在这样的情况下,一些用于访问私有变量的基础函数可以使用闭包,//大多数类函数可以绑定在prototype中,通过可以访问私有变量的基础函数来实现访问私有变量var Man = function(){ var firstName = 'wang'; var LastName = 'yuekai'; this.getFirstName = function(){ return firstName; } this.getLastName = function(){ return LastName; }}Man.prototype.getFullName = function(){ return this.getFirstName() + this.getLastName()}
其他文献
学习Javascript闭包(Closure)
闭包
0 0
- 【JavaScript】Javascript闭包
- javascript的闭包javascript
- Javascript闭包演示javascript
- [ javascript ] javascript闭包测试!
- 【javascript】javascript中的闭包
- 【javascript】学习Javascript闭包
- 理解 JavaScript 闭包
- javascript 闭包
- javascript闭包
- Javascript闭包
- JavaScript中的"闭包"
- JavaScript 闭包
- javascript中的闭包
- 理解 JavaScript 闭包
- Javascript Closures[闭包]
- javascript闭包
- Javascript 闭包详解
- Javascript闭包技术
- Javascript原型链
- 【模板】常用排序
- c语言程序设计现代方法---第四章:表达式
- git忽略文件和文件夹
- Java 类集框架
- Javascript闭包
- php中的命名空间
- CPU、内存、硬盘、指令
- poj1113(凸包)
- C++11新特性——range for
- Linux c 用栈和队列实现的停车场管理系统
- GC 算法
- Linux~连接windows的ftp,unzip出现的问题
- java bean 规范