JavaScript闭包初相识
1 什么是闭包?
在我看来,闭包大体类似于同心圆里的小圆。小圆属于大圆,所以可以接触到属于大圆的一切。但小圆内的东西被小圆边界包围,所以大圆无法接触到,有点像单向玻璃。
function outside(a) {function inside(b) {return a*b;}return inside;
}
fn_inside = outside(1); // 可以这样想:给一个函数,使它的值加3
result = fn_inside(2); // returns 2
result1 = outside(1)(2); // returns 2
2 闭包有什么用
闭包就像一座桥梁,使外部可以在一定权限下访问到函数内部的变量等。有点类似于java类的get set方法。
var createPeople = function(name) {var age = 19;return {setName: function(newName) {name = newName;},getName: function() {return name;},setAge: function(nage) {//函数中的this指向调用这个函数的对象setAge被createPeople调用,所以this是createPeoplethis.age = age;//如下会发生命名冲突(遵循就近优先原则,age均为setAge的参数)//age = age;},getAge: function() {return nage;}}
}
var people = createPeople("Lili");
console.log(people.getName());
people.setName("HanMei");
console.log(people.getName());
//people.setAge(18);
console.log(people.getAge());
JavaScript闭包初相识相关推荐
- Javascript闭包和闭包的几种写法及用途
好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一些实用的东西,主要将闭包的写法.用法和用途. 一.什么 ...
- JavaScript学习总结(十六)——Javascript闭包(Closure)
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.很早就接触过闭包这个概念了,但是一直糊里糊涂的,没有能够弄明白JavaScript的闭包到底是什 ...
- 全面理解Javascript闭包和闭包的几种写法及用途【转】
一.什么是闭包和闭包的几种写法和用法 1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. ...
- 全面理解Javascript闭包和闭包的几种写法及用途
一.什么是闭包和闭包的几种写法和用法 1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. ...
- JavaScript闭包如何工作?
您将如何向了解其闭包概念(例如函数,变量等)的人解释JavaScript闭包,但却不了解闭包本身? 我已经在Wikipedia上看到了Scheme示例 ,但是不幸的是它没有帮助. #1楼 我知道已经有 ...
- 让你分分钟理解 JavaScript 闭包
原文:https://www.cnblogs.com/onepixel/p/5062456.html 让你分分钟理解 JavaScript 闭包 闭包,是 Javascript 比较重要的一个概念,对 ...
- 全面理解Javascript闭包和闭包的几种写法及用途--转载自https://www.cnblogs.com/yunfeifei/p/4019504.html...
全面理解Javascript闭包和闭包的几种写法及用途 好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一 ...
- [转载]深入理解JavaScript闭包(closure)
最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业.对于初学者来说别说理解闭包了,就连文字叙述都很难看懂.撰写此文的目的就是用最通俗的文字揭开Java ...
- [转]Javascript 闭包
[转]Javascript 闭包 简介 Closure 所谓"闭包",指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 闭 ...
最新文章
- Java类加载机制:双亲委托模型
- P3812 【模板】线性基
- Samrty技术的 初步了解
- 数组排序思想———选择排序
- [USACO08DEC]在农场万圣节Trick or Treat on the Farm
- uva 11464 Even Parity
- java jquery基础_day20:JQuery基础(超系统的JavaWEB全套教程)
- html dot标签,html – CSS Dot符号命名约定
- 如何理解Java的类变量、成员变量、常量、类属性、实例属性、字段(field)、成员方法、类方法
- ftp协议是一种用于_______的协议_网络安全常见协议解析:TCP、UDP、HTTP、FTP、SMTP等之间的区别...
- SqlServer2012自增主键跳跃增长的问题解决方案
- 瑞银报告 | 美国银行业科技支出:凡有的,还要加给他,叫他有余...
- Subsonic简单的语法整理
- BlockUI详细用法
- Symbol数据类型
- VS2003下载地址
- BaseAdataer基本设配器
- 小程序学习 - 02 微信小程序案例实践
- 双复合摆的动力学【牛顿法---拉格朗日法】两种方式
- Gtest 测试指导 入门基础(A)
热门文章
- 如何让五层楼都有wifi?
- 【Java开发规范】禁止在 foreach 循环里进行元素的 remove/add 操作
- electronic-wechat高分屏下的缩放修改
- php取mysql某列的值,php – 获取MYSQL中某些列为null的表中的值
- php截取一个中文字符,php中的一个中文字符串截取函数
- sql azure 语法_Azure SQL Server自动故障转移组
- ssas表格模型 权限控制_如何使用DAX函数查询SSAS表格模型数据库
- Java内存区域-运行时数据区域
- Flask详解(下篇)
- 树链刨分 HDU 3966