Javascript - 你在项目中是如何使用闭包的

news/2024/7/5 2:03:58

难度级别:中高级及以上                               提问概率:80% 


很多初级开发者其实在日常工作中,很少有使用闭包的机会,但这却是一个非常高频的考点,因为对闭包不是特别了解,使用又少,久而久之,就觉得闭包是一个难点。在Javascript中,一个普通方法在执行完毕后,其内部的变量将不能再被访问,例如下面这个myFn方法,在方法执行完毕之后,其内部的num变量也就被销毁了,如果再次调用myFn方法的时候,num变量又会重新被定义,代码如下

Javascript代码:
<script>
function myFn(x) {
        let num = 5;
        console.log(num + x);
    }
    myFn(1); // 6
    myFn(3); // 8
</script>  

 但如果是myFn方法内部产生了私有变量,将这个私有变量做为函数返回值,同时myFn方法又被外部作用域调用了,导致myFn方法执行完毕后,其内部的变量仍然可以被访问,这也就形成了一个闭包环境。

Javascript代码:
<script&g

http://lihuaxi.xjx100.cn/news/2157316.html

相关文章

C语言文件操作2

1.二进制读写函数 在上一章我们介绍了字符读写函数、文本读写函数和格式化输入输出函数&#xff0c;这张我们继续为大家介绍剩下的一组读写函数——二进制读写函数&#xff1a;fread函数和fwrite函数。 ⚀fread函数 &#x1f7e1;函数作用 以二进制的方式从指定流中读取数据 …

CPU、GPU、NPU、VPU和DPU 简介

在SoC&#xff08;System on Chip&#xff09;设计中&#xff0c;NPU、GPU、CPU、VPU和DPU是不同类型的处理器单元&#xff0c;它们各自针对不同的计算任务和应用场景进行了优化。下面详细介绍每一种处理器单元的特点、区别以及用途。 CPU (Central Processing Unit) 特点&am…

基于51单片机轮胎胎压监测系统—数码管显示

基于51单片机轮胎胎压监测系统 &#xff08;仿真&#xff0b;程序&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.MPX4115压力传感器胎压检测&#xff1b; 2.ADC0832进行模数转换后&#xff0c;51单片机处理控制&#xff1b; 3.数码管显示胎压&#xff…

ES6 => 箭头函数

目录 语法基本形式 参数 函数体 特点 箭头函数&#xff08;Arrow Function&#xff09;是ES6&#xff08;ECMAScript 2015&#xff09;中引入的一种新的函数语法&#xff0c;它提供了一种更简洁的方式来编写函数。箭头函数有几个显著的特点和优势&#xff0c;下面我们来详细…

前端:导出表格

核心代码&#xff1a; function handleExport(HTML,title){ var uri data:application/vnd.ms-excel;base64,;var template <html xmlns:o"urn:schemas-microsoft-com:office:office" xmlns:x"urn:schemas-microsoft-com:office:excel" xmlns"h…

使用SquareLine Studio创建LVGL项目到IMX6uLL平台

文章目录 前言一、SquareLine Studio是什么&#xff1f;二、下载安装三、工程配置四、交叉编译 前言 遇到的问题&#xff1a;#error LV_COLOR_DEPTH should be 16bit to match SquareLine Studios settings&#xff0c;解决方法见# 四、交叉编译 一、SquareLine Studio是什么…

Docker-compose部署Alertmanager+Dingtalk+Prometheus+Grafana实现钉钉报警

部署监控 version: 3.7services: #dingtalkdingtalk:image: timonwong/prometheus-webhook-dingtalk:latestcontainer_name: dingtalkrestart: alwayscommand:- --config.file/etc/prometheus-webhook-dingtalk/config.ymlvolumes:- /data/monitor/dingtalk/config.yml:/etc/p…

洛谷P4447 [AHOI2018初中组] 分组(C++代码讲解)

1.题目 题目描述&#xff1a; 小可可的学校信息组总共有 n 个队员&#xff0c;每个人都有一个实力值 ai​。现在&#xff0c;一年一度的编程大赛就要到了&#xff0c;小可可的学校获得了若干个参赛名额&#xff0c;教练决定把学校信息组的 n 个队员分成若干个小组去参加这场比…