首页 > 编程语言 >Javascript里的闭包

Javascript里的闭包

时间:2024-08-29 09:08:53浏览次数:10  
标签:闭包 count counter Javascript 计数器 increment

闭包

闭包,允许函数访问创建时的作用域中的变量,即使该函数在其原始作用域之外被执行。这使得闭包非常适合用于封装私有变量和创建具有特定状态的函数。

Javascript里的闭包

function createCounter() {
    let count = 0; // 计数器的私有变量

    return {
        increment: function() {
            count += 1; // 增加计数器
            console.log(count);
        },
        decrement: function() {
            count -= 1; // 减少计数器
            console.log(count);
        }
    };
}

// 创建一个计数器
const counter = createCounter();

// 使用计数器
counter.increment(); // 输出:1
counter.increment(); // 输出:2
counter.decrement(); // 输出:1

用途

通过函数的闭包实现状态值的读取和修改。

标签:闭包,count,counter,Javascript,计数器,increment
From: https://www.cnblogs.com/jiayuan2006/p/18385833

相关文章

  • JavaScript
    一,js中的数据类型1数值型:number整数和浮点数统称为数值。例如85或3.1415926等。2字符串型:String由0个,1个或多个字符组成的序列。在JavaScript中,用双引号或单引号括起来表示,如"您好"、'学习JavaScript'等。3逻辑(布尔)型:boolean用true或false来表示。4空(null)值:表示没有......
  • JavaScript变量和数据类型
    一、变量1、简介​在程序运行过程中其值可以改变的量,是一个数据存储空间的表示,即给内存空间起别名​将数值通过变量进行存储,以便程序随时使用,通俗点来说,变量就是用来存储数据的​JavaScript是弱变量类型的语言,声明变量只需要使用var关键字​语法:var变量名=变量值;<s......
  • JavaScript 模块化开发:ES6 模块与 CommonJS 的对比与应用
    ​​您好,我是程序员小羊!前言随着前端项目规模的增长,代码组织和管理变得越来越复杂。模块化开发成为解决这一问题的有效手段,能够帮助开发者将代码进行分割、复用和维护。JavaScript在发展过程中出现了多种模块化规范,其中最为广泛使用的有ES6模块(也称为ESModules)......
  • JavaScript学习文档(9):事件流、事件委托、其他事件、元素尺寸与位置
    目录一、事件流1、事件流的两个阶段2、事件捕获3、事件冒泡4、阻止冒泡5、解绑事件(1)解绑事件(2)鼠标经过事件区别二、事件委托1、优点2、原理3、实现4、tab栏切换案例改造三、其他事件1、页面加载事件2、元素滚动事件(1)页面滚动事件-获取位置(2)页面滚动事件-滚动......
  • javascript(js)入门指南
    JavaScript常用知识点全面指南1.变量声明在JavaScript中,变量用于存储数据。你可以使用var、let或const来声明变量。var:早期使用的变量声明方式,有函数作用域。声明的变量可以在其所在的函数内任何地方访问,存在变量提升。varx=10;let:推荐的声明方式,有块级......
  • 28:函数闭包与装饰器
    l=[1,3]l.__iter__()#迭代器#装饰器:本质就是函数,功能是为其他函数添加附加功能#原则:#1.不修改被修饰函数的源代码#2.不修改被修饰函数的调用方式#装饰器的知识储备#装饰器=高阶函数+函数嵌套+闭包#adefcal(l):res=0foriinl:res+=ireturnr......
  • 3. JavaScript 变量声明
    var、let和const是JavaScript中用于声明变量的关键字,但它们在作用域、提升(hoisting)、以及是否可以重新赋值等方面存在一些重要的区别。1.作用域(Scope)var:具有函数作用域(functionscope),即如果在函数内部声明var变量,该变量在整个函数内都有效。如果在函数外部声明,则具......
  • JavaScript 程序寻找通过 2 个点的线(Program to find line passing through 2 Points)
              在数学和计算机科学中,找到通过两个点的线的方程是一个基础问题。假设我们有两个点 P1​(x1​,y1​) 和 P2​(x2​,y2​),我们想要找到通过这两个点的直线方程。直线方程的形式直线的方程通常表示为 y=mx+b,其中 m 是斜率,b 是 y 轴截距。计算斜率......
  • JavaScript 对象构造器
    <!DOCTYPEhtml><htmllang="en"><body><pid="demo"></p><script>functionPerson(first,last,age,like){this.firstName=first;this.lastName=last;......
  • JavaScript简介
    一、JavaScript简介1.什么是JavaScript?JavaScript简称为JS,由网景公司开发的客户端脚本语言,不需要编译,可以直接运行Web前端三层:结构层 HTML 定义页面的结构样式层 CSS 定义页面的样式行为层 JavaScript 用来实现交互,提升用户体验2.JavaScript作用在客户端动......