JavaScript高级程序设计 读书笔记之八 Function类及闭包

JavaScript高级程序设计 读书笔记之八 Function类及闭包

  • Function类
  • Function类的特点
    • Function类本身也是一个函数,它可以像工厂函数一样构建新的函数实例。
    • 使用Function构造函数构建函数,可以动态地创建函数语句。
    • 可以将字符串形式的代码,通过Function的形式执行。
  • Function构造函数的使用
    • Function构造函数创建函数的形式:new Function(arg1, arg2, ... argN, functionBody)
    • arg1~argN:形式参数。
    • functionBody:字符串形式的函数体。
    • 示例:
      javascript
      // 使用Function构造函数创建函数
      var add = new Function('arg1', 'arg2', 'return arg1 + arg2;');
      console.log(add(1, 2)); // 输出3
  • 闭包
  • 闭包的概念
    • 闭包:一个可以访问自由变量的函数。
    • 自由变量:在一个函数中使用、但既不是函数参数也不是函数内部定义的变量。
  • 闭包的作用

    • 在需要多次访问某个变量时,使用闭包可以避免将该变量作为全局变量。
    • 创建私有变量。
    • 避免变量污染。
    • 示例:
      ```javascript
      // 使用闭包创建计数器函数
      var counter = (function() {
      var privateCounter = 0;
      function changeBy(val) {
      privateCounter += val;
      }
      return {
      increment: function() {
      changeBy(1);
      },
      decrement: function() {
      changeBy(-1);
      },
      value: function() {
      return privateCounter;
      }
      };
      })();

    console.log(counter.value()); // 输出 0

    counter.increment();

    console.log(counter.value()); // 输出 1

    counter.decrement();

    console.log(counter.value()); // 输出 0
    ```

以上就是《JavaScript高级程序设计》中关于Function类及闭包的笔记攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript高级程序设计 读书笔记之八 Function类及闭包 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 原生js实现密码强度验证功能

    密码强度验证是一种常用的前端表单验证功能,实现起来并不复杂。下面是使用原生JS实现密码强度验证的攻略: 1. 分析实现思路 实现密码强度验证的关键是定义密码强度的级别和判断密码的强度。一般情况下,密码强度可以分为“弱”、“中”和“强”三个等级,判断密码的强度需要根据密码的长度、包含的字符类型、是否包含特殊字符等多个因素来综合评估。 2. 编写HTML代码 &…

    JavaScript 2023年6月10日
    00
  • 基于JavaScript实现五子棋游戏

    基于JavaScript实现五子棋游戏攻略 简介 五子棋是一款益智类的棋类游戏,它的规则简单易懂,但是玩起来十分有趣。在这里,我们将会使用JavaScript语言来实现五子棋游戏。 前置知识 在开始开发之前,我们需要掌握以下知识: HTML和CSS基础知识。 JavaScript基础知识,以及DOM操作和事件处理相关的知识。 一定的算法和数据结构基础。 实现…

    JavaScript 2023年6月11日
    00
  • JavaScript流程控制(循环)

    JavaScript流程控制(循环) JavaScript提供了循环结构来重复执行代码块,为开发者处理重复性任务提供了方便。 在JavaScript中,有三种循环结构:for、while和do…while。在使用这些结构之前需要确定循环的条件,即循环的终止条件。只有当终止条件为false时,循环才会停止。 1. for循环 for循环是JavaScrip…

    JavaScript 2023年5月27日
    00
  • js操作iframe的一些方法介绍

    下面是详细讲解“js操作iframe的一些方法介绍”的完整攻略。 一、iframe简介 <iframe>是HTML中用于在页面中嵌入另外一个HTML页面的标签。在嵌入的页面加载完毕后,我们可以使用JavaScript操作<iframe>中的内容。 二、iframe的常用属性 src:指定嵌入的页面地址。 name:为<ifram…

    JavaScript 2023年6月10日
    00
  • JavaScript常用工具函数大全

    JavaScript常用工具函数大全 本文将收集整理一些常用的 JavaScript 工具函数,旨在帮助开发者在日常工作中更加高效地编写代码。 1. 数组相关函数 1.1 isArray() 判断一个值是否是数组。 function isArray(value) { return Array.isArray(value); } 示例: isArray([])…

    JavaScript 2023年5月27日
    00
  • JavaScript 12个有用的数组技巧

    标题:JavaScript 12个有用的数组技巧完整攻略 1.使用forEach替代for循环 ForEach可以在不使用for循环的情况下更简洁、更容易理解的遍历数组内的元素,例如: const numbers = [1, 2, 3, 4, 5]; numbers.forEach((number) => { console.log(number); …

    JavaScript 2023年5月27日
    00
  • 微信小程序开发WXML模板语法基础教程

    下面是一份“微信小程序开发WXML模板语法基础教程”的完整攻略。 一、WXML模板语法基础 1. WXML是什么? WXML是微信小程序中的一种类似HTML的标记语言。它主要用于定义小程序的结构和内容,包括布局、组件以及数据绑定等等。 2. 基本语法 2.1 标签 WXML中的标签大多数都和HTML类似,比如div、input、image等等,用法也差不多。…

    JavaScript 2023年6月10日
    00
  • 详解小程序之简单登录注册表单验证

    详解小程序之简单登录注册表单验证 登录注册表单验证是小程序开发中非常基础的一部分,它可以确保用户的信息输入的正确性和安全性。本文将从以下几个方面详细讲解如何在小程序中实现简单的登录注册表单验证: 页面搭建 数据绑定 表单提交 表单验证 页面搭建 首先,在小程序中创建一个新页面,该页面包含用户名、密码、重复密码、以及登录和注册两个按钮。具体的代码如下所示: &…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部