闭包解析

作者: 曾经也是个少年 | 来源:发表于2018-08-02 13:27 被阅读0次

function a (x){

  var z = 1;

  return function(y){

    alert(x+(y+1)+(z+1));

    //console.log(x);

    //console.log(y)

  }

}

var c = a(1);

//console.log(c)

c(2);

单单这样肯定还有很多还是一脸懵逼,我们吧c打印出来,逻辑久很清楚了,其实c方法的真实面目其实是这样的:

function(y){

  alert(y+(x+1)+(z+1)); //8

}

这样我们在匿名函数里面调用了a函数的z变量,这就是一个闭包函数

相关文章

  • python之闭包与装饰器

    1 闭包 维基百科给出的解析:闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭...

  • 闭包解析

    function a (x){ var z = 1; return function(y){ alert(x+(y...

  • 预解析预闭包的例子

    预解析、预闭包、自调函数、多赋值

  • JavaScript深入之闭包

    JavaScript深入系列第八篇,介绍理论上的闭包和实践上的闭包,以及从作用域链的角度解析经典的闭包题。 定义 ...

  • 闭包与数组的过滤,映射,缩减

    函数的详细解析(闭包的讲解) 数组的过滤,映射,缩减(与闭包的结合使用) 类的介绍 (类的属性,方法)

  • JS闭包解析

    一、什么是闭包 闭包指能够访问另一个函数作用域的变量的函数,一般是定义在外层函数中的内层函数。例: 解析1: ou...

  • Swift(2)

    可选类型(?) 隐式解析可选类型(!) 结构体 类 协议 扩展 闭包

  • 闭包

    闭包就是一个函数把外部的那些不属于自己的对象也包含(闭合)进来了。 JavaScript中的闭包,无非就是变量解析...

  • swift-闭包

    闭包 闭包定义 闭包简化 - 尾随闭包 闭包参数 闭包返回值 闭包的循环引用

  • new与闭包解析

    var Cu = function () { this.cc = 10; var call = function ...

网友评论

    本文标题:闭包解析

    本文链接:https://www.haomeiwen.com/subject/hcwjvftx.html