JS匿名函数之函数表达式与立即执行函数

匿名函数是什么?和具名函数有什么区别?让我为大家介绍一下吧!
没有名字的函数,无法直接使用

一.函数表达式

将匿名函数赋值给一个变量,并且通过变量名去调用,我们将这个称为函数表达式
语法:

    let fun = function(){}
    let fun = function(){console.log("我是函数表达式")}fun() //调用

我们传入参数怎么传

    let fun = function (x, y) {console.log(x + y) //3}fun(1,2)

函数表达式和具名函数的不同点
1.具名函数的调用可以写到任何位置

    fun()function fun(){console.log(1) //1}

2.函数表达式必须先声明函数表达式,后调用

    // 报错 Cannot access 'fun' before initialization// 在初始化之前无法访问'fun'fun(1,2)let fun = function (x, y) {console.log(x + y)}

二.立即执行函数

使用场景:避免全局变量之间的污染
语法:

    // 第一种(function(){}());// 第二种(function(){})();

注意:立即执行函数要加分号

    (function(){}())// 报错 因为()后面还是()没有结束(function(){})();

第二个小括号相当于调用函数
传入参数
第一种写法:

    (function (x, y) {console.log(x + y) //3})(1, 2)

第二种写法:

    (function (x, y) {console.log(x + y) //3}(1, 2))

立即执行函数注意事项
1.无需调用,立即执行,其实本质已经调用了
2.多个立即执行函数之间用分号隔开

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java EE 网络之网络初识

文章目录 1. 网络发展史1.1 独立模式1.2 网络互连1.3 局域网 LAN1.4 广域网 WAN 2. 网络通信基础2.1 IP 地址2.2 端口号2.3 认识协议2.4 五元组2.5 协议分层2.5.1 什么是协议分层2.5.2 分层的作用2.5.3 OSI七层协议2.5.4 TCP/IP五层协议2.5.5 网络设备所在分层 2.6 分装和分用 …

Leetcode的AC指南 —— 链表:24. 两两交换链表中的节点

摘要: Leetcode的AC指南 —— 链表:24. 两两交换链表中的节点。题目介绍:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能…

【OpenHarmony 北向应用开发】ArkTS语言入门(构建应用页面)

ArkTS语言入门 在学习ArkTS语言之前,我们首先需要一个能够编译并运行该语言的工具 DevEco Studio。 了解ArkTS ArkTS是OpenHarmony优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继…

有两个循环单链表,链表头指针分别为 h1 和 h2,编写一个函数将 h2 链接到 链表h1 之后,要求处理完仍是一个循环单链表。

题目描述 :有两个循环单链表,链表头指针分别为 h1 和 h2,编写一个函数将 h2 链接到 链表h1 之后,要求处理完仍是一个循环单链表。 分析: 注意题目说的是头指针 h1 和 h2,所以这两个循环单链表并没有头结点…

【MyBatis-Plus】常用的插件介绍(乐观锁、逻辑删除、分页)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于MyBatis-Plus的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.为什么要使用MyBatis-Plus中的插…

c++程序设计定义一个CForm窗体类,在该类中包括:

定义一个CForm窗体类,在该类中包括: (1)成员变量:title(窗体标题),width(窗体宽度),height(窗体高度); &…

MySQL中union和union all的区别

一、区别1:取结果的并集 1、union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序; 2、union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复; 二、区别2:获取结果后的操作 1…

【C语言】随机数生成详解,手把手教你,保姆级!!!

目录 rand函数 srand函数 time函数 设置随机数范围 拓展--猜数字游戏 总结 rand函数 C语⾔提供了⼀个函数叫 rand,这函数是可以⽣成随机数的,函数原型如下所⽰ int rand (void); rand函数会返回⼀个伪随机数,这个随机数的范围是在0~RAN…

M个苹果放入N个盘子(递归)

题目: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(5,1,1和1,5,1 是同一种分法) 输入 每个用例包含二个整数M和N。…

【golang】go执行shell命令行的方法( exec.Command )

所需包: import "os/exec" cmd的用法: cmd : exec.Command("ls", "-lah") //ls是命令,后面是参数 e : cmd.Run() 多个参数的要分开传入: 如:ip link show bond0 cmd :exec.Command("ip","link","show","…

Linux(操作系统)面经——part 1(持续更新中......)

1、说一说常用的 Linux 命令 mkdir创建文件夹,touch创建文件,mv移动文件内容或改名 rm-r 文件名:删除文件 cp拷贝:cp 文件1 文件2,cp-r跨目录拷贝 cp-r 路径1 路径2 vi 插入 :wqb保存退出 :q!强制退出…

【Axure教程】区间评分条

区间评分条是一种图形化的表示工具,用于展示某一范围内的数值或分数,并将其划分成不同的区间。这种评分条通常用于直观地显示数据的分布或某个指标的表现。常用于产品评价、调查和反馈、学术评价、健康评估、绩效评估、满意度调查等场景。 所以今天作者…

DOM树和DOM对象与JS关系的深入研究

const和let使用说明 var不好用,我们如果用变量都是用let,如果用常量乃是不变的量,我们用const,见let const知变量是否可变。比如一个常量在整个程序不会变,但是你用let,是可以的。但是let最好与内部变量改…

SSH连接服务器后执行多条命令

SSH连接服务器后执行多条命令 大家平时有没有遇到自己连接云服务器,ssh 连接上去之后,发现自己的一些小工具用不了 例如go build无法使用 ,由于我们安装配置golang 环境的时候,是在文件/etc/profile中写了配置,因此需…

《洛谷深入浅出进阶篇》简单数据结构

本篇文章内容如下,请耐心观看,将持续更新。 简单数组 简单栈 简单队列 简单链表 简单二叉树 简单集合 图的基本概念 二叉堆 线段树 树状数组与字典树 线段树进阶 简单数组: STL可变数组 vector " 我们首先要知道这个容器有什…

Java多线程编程学习

1 线程的概念 多线程是指同一个程序同时存在多个“执行体”,它们可以同时工作 1.1 进程的概念 一次程序的每一次运行都叫做进程(一个进程可以包含多个线程 1.2 线程的概念 多线程是指一个程序中多段代码同时并发进行 1.3 主线程的概念 JavaMain中的线程就…

Python语言学习笔记之十(字符串处理)

本课程对于有其它语言基础的开发人员可以参考和学习,同时也是记录下来,为个人学习使用,文档中有此不当之处,请谅解。 字符串处理:以实现字符串的分割、替换、格式化、大小写转换,Python字符串处理是指对Py…

人工智能知识蒸馏:模型精简与迁移的奇妙之旅

导言 在人工智能领域,知识蒸馏作为一种模型精简和知识迁移的技术手段,逐渐成为提高模型效能和适应更广泛场景的关键工具。知识蒸馏是近年来在深度学习领域备受瞩目的技术,其通过将大模型的知识传递给小模型,旨在实现模型的轻量化与…

AST反混淆进阶-return简写表达式还原

实现目的:return简写表达式还原,增强可读性处理前 demo.js function _0x30e2() {return a 1, b 2, c 3, d 4, a b c d; }console.log(_0x30e2());处理后 demoNew.js function _0x30e2() {a 1, b 2, c 3, d 4;return a b c d; }console.log(_0x30e2())…

【Unity】如何让Unity程序一打开就运行命令行命令

【背景】 Unity程序有时依赖于某些服务去实现一些功能,此时可能需要类似打开程序就自动运行Windows命令行命令的功能。 【方法】 using UnityEngine; using System.Diagnostics; using System.Threading.Tasks; using System.IO; using System.Text