zoukankan      html  css  js  c++  java
  • 闭包

    

    闭包。官方对闭包的解释是:一个拥有很多变量和绑定了这些变量的环境的表达式(一般是一个函数),因而这些变量也是该表达式的一部分。

    闭包的特点:
      1. 作为一个函数变量的一个引用,当函数返回时,其处于激活状态。
      2. 一个闭包就是当一个函数返回时,一个没有释放资源的栈区。


      简单的说,Javascript同意使用内部函数---即函数定义和函数表达式位于还有一个函数的函数体内。并且。这些内部函数能够訪问它们所在的外部函数中声明的全部局部变量、參数和声明的其它内部函数。当当中一个这种内部函数在包括它们的外部函数之外被调用时,就会形成闭包。


    在JS中一切都是对象。函数是对象的一种

    在Javascript中每一个函数都有一个Portotype属性,而对象没有。加入两个方法,分别直接加入和加入打破Prototype上面,来看下调用情况。分析结果例如以下:

       1、不使用prototype属性定义的对象方法,是静态方法。仅仅能直接用类名进行调用。另外,此静态方法中无法使用this变量来调用对象其它的属性。
       2、使用prototype属性定义的对象方法,是非静态方法,仅仅有在实例化后才干使用!其方法内部能够this来引用对象自身中的其它属性。


    通过使用闭包。我们能够做非常多事情。比方模拟面向对象的代码风格;更优雅,更简洁的表达出代码;在某些方面提升代码的运行效率。

  • 相关阅读:
    ant build打包
    在JAVA中如何获取当前源文件名以及代码的行号
    react以组件为中心的代码分割和懒加载
    java中针对 try和finally一些总结
    JS强制关闭浏览器页签并且不提示关闭信息
    由[].slice.call()引发的思考
    JS类型判断
    nginx的location配置
    DBCP连接池
    java/Servlet
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/7326056.html
Copyright © 2011-2022 走看看