• web前端面试系列 一 js闭包


    一、什么是闭包?

        JavaScript高级程序设计第三版: 闭包是指有权访问另一个函数作用域中的变量的函数。

        在js中定义在函数内部的子函数能够访问外部函数定义的变量,因此js内部函数就是一个闭包。

    二、闭包的组成?

        闭包由函数以及创建该函数的环境(创建该函数时所在作用域任何局部变量)所组成。

    三、 闭包的作用是什么?

      1. 允许函数与其操作的一些数据进行关联。(偏函数应用,函数柯里化)

          2. 模拟私有方法。(模块模式)

     1 var Counter = (function() {
     2   var privateCounter = 0;
     3   function changeBy(val) {
     4     privateCounter += val;
     5   }
     6   return {
     7     increment: function() {
     8       changeBy(1);
     9     },
    10     decrement: function() {
    11       changeBy(-1);
    12     },
    13     value: function() {
    14       return privateCounter;
    15     }
    16   }   
    17 })();

    三、闭包的缺陷是什么?

    1. 影响脚本执行性能。

  • 相关阅读:
    jmeter(八)断言
    jmeter(七)定时器
    jmeter(六)元件的作用域与执行顺序
    JS 正则详解
    表单验证
    ubuntu16.04安装Grafana
    Crontab详细用法-定时任务详解
    ubuntu16.04 安装influxdb,简单使用
    jQuery CSS操作 点赞样式
    jQuery文档处理
  • 原文地址:https://www.cnblogs.com/xiaodi-js/p/5915885.html
Copyright © 2020-2023  润新知