简单认识一下什么是闭包

不管闭包是什么高深东西,首先先把它是什么神东东简单认识一下

//闭包是指有权限访问另一个函数作用域中变量的函数
    //在函数内部创建函数,使用到了外部变量,并且将此函数返回就形成了闭包

    function Klass(){
        var name;
        //getName是闭包,因为它有权访问Klass函数中name变量
        //getName是在Klass内部创建的函数,它也使用到了外部变理name,并将结果返回表达式形式
        var getName = function(){
            return name;
        };

        var setName = function(n){
            name = n;
        }

        return {getName: getName, setName: setInterval};

    }

简单认识一下什么是闭包

时间: 2024-10-28 18:45:54

简单认识一下什么是闭包的相关文章

swift找window,导航栏的简单使用,Controller通过闭包传值简单示例

这里是我需要的两个Controller,从FirstVC跳转到TwoVC,TwoVC返回的时候给FirstVC传递参数 找window let vc = UINavigationController.init(rootViewController: FirstVC()) let rootVC = UIApplication.shared.delegate as! AppDelegate rootVC.window?.rootViewController = vc FirstVC的跳转代码 cla

傻瓜学习JavaScript闭包(译)

在<高级程序设计>中,对于闭包一直没有很好的解释,在stackoverflow上翻出了一篇很老的<JavaScript closure for dummies>(2016)~ 出处:http://stackoverflow.com/questions/111102/how-do-javascript-closures-work 闭包不是魔法 本文旨在用JavaScript代码让程序员理解闭包,函数式编程的程序员或者导师请绕行. 只要理解了闭包的核心理念,闭包并不难学.但是通过学习一

关于闭包的理解(JS学习小结)

前言: 啊啊啊,看书真的很痛苦啊,还是好想做项目写代码才有意思,不过我现在缺的确是将知识体系化,所以不论看书多么痛苦都一定要坚持坚持啊,这才是我现在最需要的进步的地方,加油! 因为现在期末啦,下周一也就是明天开始就有考试,所以复习是主要的事情,看书的速度比较慢了,一周大概也就184页(P110-P284), 虽然页数比较少但是其中有ES中非常最重要的两个概念——原型链和闭包,之前对于两个知识的了解算是知其然不知其所以然的,所以在那两章我也有意多花费了时间,确保我能够吃透这个概念.以下算是我自己的

全面理解Javascript闭包和闭包的几种写法及用途

一.什么是闭包和闭包的几种写法和用法                                                       1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点: 1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态. 2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区. 简单的说,Javascript允许使用内部函数---即函数定义和函数表

Scala闭包

假如我们定义如下的函数: (x:Int) => x + more 这里我们引入一个自由变量more.它不是所定义函数的参数,而这个变量定义在函数外面,比如: var more =1 那么我们有如下的结果: scala> var more =1 more: Int = 1 scala> val addMore = (x:Int) => x + more addMore: Int => Int = <function1> scala> addMore (100)

转 全面理解Javascript闭包和闭包的几种写法及用途

转自:http://www.cnblogs.com/yunfeifei/p/4019504.html 好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一些实用的东西,主要将闭包的写法.用法和用途. 一.什么是闭包和闭包的几种写法和用法                                                       1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑

JavaScript备忘录-闭包(2)

闭包的定义 闭包是指函数有自由独立的变量.换句话说,定义在闭包中的函数可以“记忆”它创建时候的环境. 闭包的浅显理解 function makeFunc() { var name = "Mozilla"; function displayName() { alert(name); } return displayName; } var myFunc = makeFunc(); myFunc(); 这段代码看起来别扭却能正常运行.通常,函数中的局部变量仅在函数的执行期间可用.一旦 mak

闭包浅谈

虽然可能在编码时会经常用到闭包,但对闭包的概念一直比较模糊. 简单说下自己对闭包的理解 闭包的实现方法  在我接触的脚本语言有 lua.js.python,感觉语法都差不多,主要特点就是 :无需编译.若类型.数据结构强大.灵活多变 这里随口说下脚本在开发中的优点: 无需编译,在软件更新时作用很大,由于appstore的审核比较严,如果运行中的游戏应用出现问题时需要更新时,这时候如果等appstore审核那估计要俩星期之后了游戏现在大部分的做法就是 游戏上层业务逻辑都用lua写,底层很少变动要求效

javascript闭包的理解和实例

所谓闭包,值得是词法表示包括不必要计算的变量的函数,也就是说,该函数可以使用函数外定义的变量. 顺便提示一下: 词法作用域:变量的作用域是在定义时决定而不是执行时决定,也就是说词法作用域取决于源码,通过静态分析就能确定,因此词法作用域也叫做静态作用域. with和eval除外,所以只能说JS的作用域机制非常接近词法作用域(Lexical scope). 下面是一个简单的使用全局变量的闭包实例: 1 var sWord="Hello,Welcome to web前端开发工程师的博客,请多多指教.&