- 浏览: 494151 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
javascript匿名函数与闭包
匿名函数
1.就是没有名字的函数
(function(x, y){ alert(x + y); })(2, 3);
创建了一个匿名函数(在第一个括号内),第二个括号用于调用该匿名函数,并传入参数。
闭包
1.使用闭包可以大大减少我们的代码量,使我们的代码看上去更加清晰等等,总之功能十分强大。
2.闭包说白了就是函数的嵌套,内层的函数可以使用外层函数的所有变量,即使外层函数已经执行完毕(这点涉及JavaScript作用域链)。
JavaScript 自由变量
1.在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图:
2.要到创建这个函数的那个作用域中取值,(是“创建”,而不是“调用”),如:
var x=10; function fn(){ console.log(x); } function show(f){ var x=20; (function(){ f(); })(); } show(fn); //创建fn时,是在x=10的下一级作用域链中进行创建的
高阶函数
1.返回另一个函数的函数称为高阶函数
2.内部函数在没有任何局部声明之前(既不是被传入,也不是局部声明)使用的变量就是被捕获的变量。
3.变量的捕获发生在创建闭包的时候
function makeAdder(captured) { return function(free) { var ret = free + captured; console.log(ret); } } var add10 = makeAdder(10); add10(2); // 输出:12
1.外部函数中的变量captured被执行加法的返回函数捕获,内部函数从未声明过captured变量,却可以引用它。
2.要到创建这个函数的那个作用域中取值,(是“创建”,而不是“调用”)
var a = 10; function fn() { var b = 20; function bar() { console.log(a + b); } return bar; } var x = fn(); b = 200; x(); //30
创建时a=10,b=20
参考原文:http://www.cnblogs.com/wangfupeng1988/p/3992795.html
发表评论
-
选举算法
2022-06-17 08:48 420选举算法 常用的选举 ... -
elasticSearch使用
2022-04-27 08:42 409ElasticSearch 基于Apache Lucene构建 ... -
IDEA 快捷键
2022-03-02 16:55 242大小写转换快捷键 ctr+shift+u IDEA ... -
zookeeper dubbo 安装
2021-12-04 19:27 310docker-machine ssh default d ... -
将博客搬至CSDN
2021-11-18 19:57 186将博客搬至CSDN -
docker mysql 主从安装
2021-11-10 16:55 231docker run -d -p 13306:3306 --n ... -
rocketmq安装部署.txt
2021-11-07 19:10 215docker search rocketmq docke ... -
定时调用函数功能实现
2021-06-11 10:26 1103<html> <head> & ... -
uniApiJs
2021-06-08 18:04 0//获取当前的地理位置、速度 function getLoca ... -
百度人脸识别
2021-05-21 16:11 360package com.gaojinsoft.htwy.y20 ... -
点击DIV触发上传文件的方法
2021-05-20 14:11 1191<div Style="float:left ... -
springBoot tomcat配置参数说明
2021-05-12 09:13 3013#最大连接数 server.tomcat.max-connec ... -
前端格式化工具与检测工具选择与使用
2021-05-10 20:26 715//工具安装前的准备与 ... -
indexedDb TEST
2021-03-24 08:36 505<!DOCTYPE html> <html& ... -
技术选型
2021-01-29 17:34 2891.移动端组件vux,vant,vant好点,文档好的,基于v ... -
方便开发调试和问题跟踪
2021-01-01 10:17 2451.外网最好可以连接数据库 2.关键信息可以在接口返回信息, ... -
defineProperty Array push 监听
2020-10-31 15:16 462<!DOCTYPE html> <html ... -
weuiJsLayer.js
2020-07-24 09:56 260var weuiJsAlterMap = {}; f ... -
dataViewCommonJs
2020-05-09 17:00 353// var _elementIdToDataMap={} ... -
editorconfig配置
2020-03-28 20:36 460# https://editorconfig.org root ...
相关推荐
在讨论JavaScript编程语言时,匿名函数和闭包是两个重要的概念,它们在函数式编程和模块化代码设计中扮演着核心角色。匿名函数是没有具体名称的函数,它们可以是独立的,也可以是表达式的一部分,通常用于定义临时...
**匿名函数**和**闭包**都是JavaScript中非常强大的特性。通过灵活运用这些概念,可以编写出更加高效和可维护的代码。然而,需要注意的是,由于闭包会导致函数的作用域被持续保留,因此过度使用闭包可能会导致内存...
总的来说,JavaScript中的匿名函数和闭包是强大的工具,它们可以帮助我们创建私有变量、实现模块化和数据封装,以及在异步编程中起到重要作用。理解并熟练运用这些概念对于任何JavaScript开发者来说都是至关重要的。
JavaScript是一种广泛应用于前端开发的脚本语言,其中匿名函数和闭包是JavaScript编程中非常重要的概念。通过理解这两者的工作原理和使用方法,可以极大地提升编程能力和代码的模块化、封装化程度。 首先来看匿名...
总的来说,JavaScript的匿名函数和闭包是实现模块化、封装和高效代码的关键工具。它们可以帮助开发者创建更加健壮和易于管理的代码,同时减少全局变量的使用,提升代码的执行效率和安全性。理解并熟练运用这些概念...
JavaScript中的匿名函数和闭包是两个非常重要的概念,它们在函数式编程和模块化开发中起着关键作用。 首先,让我们来理解匿名函数。匿名函数,顾名思义,是没有名称的函数。在JavaScript中,我们可以直接定义一个不...
JavaScript中的闭包、匿名函数和作用域链是编程中至关重要的概念,它们是理解JavaScript运行机制的关键。在本文中,我们将深入探讨这三个概念,并通过实际示例来展示它们的运用。 首先,我们来讨论“闭包”。闭包是...
在JavaScript中,匿名函数、函数直接量和闭包是三种非常重要的概念,它们在编程实践中有着广泛的应用。让我们逐一深入探讨这些概念。 1. **匿名函数**: 匿名函数是指没有名字的函数,通常作为表达式的一部分存在...
本文将深入探讨匿名函数的概念、用途以及与闭包的关系。 首先,让我们看看如何声明一个匿名函数。在JavaScript中,匿名函数通常通过`function`关键字定义,但不提供名称。例如: ```javascript (function() { // ...
更复杂的是,可以使用`new Function`构造函数创建函数,或者定义匿名函数,如`(function(){ //TODO here})()`,这常用于模块化隔离。内嵌函数(内部函数)允许访问外部函数的变量,这是闭包的基础。 当我们谈论函数...
闭包是用匿名函数来实现。闭包就是一个受到保护的变量空间,由内嵌函数生成。“保护变量”的思想在几乎所有的编程语言中都能看到。 先看下 JavaScript 作用域: JavaScript 具有函数级的作用域。这意味着,不能在...
- 函数式编程:匿名函数是JavaScript函数式编程的核心,例如高阶函数、闭包、柯里化等概念都离不开匿名函数。 5. 匿名函数的优缺点: - 优点:提高代码的封装性,减少全局变量,提高代码的安全性和可维护性,适用...
}}`中,`makeFunc`返回的匿名函数创建了一个闭包,它记得变量`x`的值,并能在每次调用时增加这个值。 在JavaScript中,闭包经常用于创建私有变量和方法,这在模块化编程中非常有用。闭包还能保持变量的状态,使得...