- 浏览: 481984 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (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 388选举算法 常用的选举 ... -
elasticSearch使用
2022-04-27 08:42 346ElasticSearch 基于Apache Lucene构建 ... -
IDEA 快捷键
2022-03-02 16:55 219大小写转换快捷键 ctr+shift+u IDEA ... -
zookeeper dubbo 安装
2021-12-04 19:27 293docker-machine ssh default d ... -
将博客搬至CSDN
2021-11-18 19:57 166将博客搬至CSDN -
docker mysql 主从安装
2021-11-10 16:55 199docker run -d -p 13306:3306 --n ... -
rocketmq安装部署.txt
2021-11-07 19:10 184docker search rocketmq docke ... -
定时调用函数功能实现
2021-06-11 10:26 1078<html> <head> & ... -
uniApiJs
2021-06-08 18:04 0//获取当前的地理位置、速度 function getLoca ... -
百度人脸识别
2021-05-21 16:11 335package com.gaojinsoft.htwy.y20 ... -
点击DIV触发上传文件的方法
2021-05-20 14:11 1133<div Style="float:left ... -
springBoot tomcat配置参数说明
2021-05-12 09:13 2944#最大连接数 server.tomcat.max-connec ... -
前端格式化工具与检测工具选择与使用
2021-05-10 20:26 667//工具安装前的准备与 ... -
indexedDb TEST
2021-03-24 08:36 476<!DOCTYPE html> <html& ... -
技术选型
2021-01-29 17:34 2681.移动端组件vux,vant,vant好点,文档好的,基于v ... -
方便开发调试和问题跟踪
2021-01-01 10:17 2291.外网最好可以连接数据库 2.关键信息可以在接口返回信息, ... -
defineProperty Array push 监听
2020-10-31 15:16 438<!DOCTYPE html> <html ... -
weuiJsLayer.js
2020-07-24 09:56 242var weuiJsAlterMap = {}; f ... -
dataViewCommonJs
2020-05-09 17:00 332// var _elementIdToDataMap={} ... -
editorconfig配置
2020-03-28 20:36 430# https://editorconfig.org root ...
相关推荐
匿名函数,也称为拉姆达函数,是一种使用JavaScript...JavaScript中的匿名函数和闭包都是非常有用的特性,利用它们可以实现很多功能。不过,因为创建闭包必须维护额外的作用域,所以过度使用它们可能会占用大量内存。
javascript笔记之匿名函数和闭包.docx
本文将对 JavaScript 匿名函数的定义、创建、调用方式、闭包的概念等进行详细的介绍。 一、函数的定义 在 JavaScript 中,函数可以定义的方式有多种。第一种方式是使用 function 关键字,例如: ``` function ...
在JavaScript前端开发中,函数与对其状态即词法环境(lexical environment)的引用共同构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在JavaScript,函数在每次创建时生成闭包。匿名...
本文介绍了js匿名函数和闭包的相关内容,供大家参考,具体内容如下 匿名函数 [removed] //function(){}//会报错 var fun = function(){};//将匿名函数赋值给变量 (function(){})();//匿名函数自执行 function...
主要介绍了JavaScript 匿名函数和闭包介绍,需要的朋友可以参考下
本文详细介绍了匿名函数、闭包、并给出了详细的例子以及详细的注意事项,是篇非常非常不错的文章,推荐给大家。
(转载)JavaScript中匿名函数,函数直接量和闭包.docx
闭包是用匿名函数来实现。闭包就是一个受到保护的变量空间,由内嵌函数生成。“保护变量”的思想在几乎所有的编程语言中都能看到。 先看下 JavaScript 作用域: JavaScript 具有函数级的作用域。这意味着,不能在...
NULL 博文链接:https://xieyaxiong.iteye.com/blog/1558277
函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种 function double(x){ return 2 * x; } 第二...
我们可以将变量i保存在匿名函数自身,然后在onclick事件中使用arguments.callee.i来获取该元素的序号。 3、加一层闭包,i以函数参数形式传递给内层函数 我们可以使用闭包将变量i传递给内层函数,然后在onclick事件...
匿名函数:没有实际名字的函数。 匿名函数的作用: 1、通过匿名函数可以实现闭包,关于闭包在后面的文章...本章节重点给大家介绍JavaScript 中的匿名函数((function() {})();)与变量的作用域,具体内容如下所示: 以前
主要介绍了JavaScript闭包函数访问外部变量的方法,本文使用匿名函数来实现在闭包中访问外部变量,需要的朋友可以参考下
本篇主要介绍普通函数、匿名函数、闭包函数 目录 普通函数:介绍普通函数的特性:同名覆盖、arguments对象、默认返回值等。 匿名函数:介绍匿名函数的特性:变量匿名函数、无名称匿名函数。 闭包函数:介绍闭包...