JavaScript快速入门系列-3(函数基础)

第三章:函数基础

    • 3.1 函数定义与调用
      • 3.1.1 函数声明
      • 3.1.2 函数表达式
    • 3.2 参数与返回值
    • 3.3 匿名函数与立即执行函数表达式(IIFE)
      • 3.3.1 匿名函数
      • 3.3.2 立即执行函数表达式
    • 3.4 箭头函数
      • 3.4.1 箭头函数与this
    • 3.5 函数的高级话题
      • 3.5.1 闭包
      • 3.5.2 函数柯里化
      • 3.5.3 高阶函数
    • 小结

开篇图

在JavaScript的征途中,函数是你的忠诚骑士,它们携带智慧与力量,助你解决复杂问题,实现代码复用与模块化。这一章节,我们将深入探索函数的奥秘,从基本定义到高级用法,逐步揭开函数的面纱。

3.1 函数定义与调用

函数,简单来说,是一段可重复使用的代码块,它封装了特定功能,通过名称调用来执行。让我们从最基础的函数定义开始。

3.1.1 函数声明

函数声明是最直接的方式,它由function关键字引导,后跟函数名,参数列表(如果有),最后是函数体。

function sayHello(name) {console.log("Hello, " + name + "!");
}

调用函数时,只需写出其名称,后跟一对圆括号,括号内可传入参数值。

sayHello("Alice"); // 输出: Hello, Alice!

3.1.2 函数表达式

不同于函数声明,函数表达式是将一个匿名函数赋值给变量。这种方式下,函数没有名字(除非你给它赋值的变量赋予一个名字)。

const greet = function(name) {console.log("Greetings, " + name + "!");
};
greet("Bob"); // 输出: Greetings, Bob!

3.2 参数与返回值

函数可以接收参数,这些参数作为函数内部操作的数据来源。同时,函数还可以通过return语句返回结果,传递计算后的值给调用者。

function add(a, b) {return a + b;
}let sum = add(3, 5); 

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

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

相关文章

【C++课程学习】:Data类的实现

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🍩1.头文件 🍩2.实现文件: 🍩3.分析: &…

GroupJoin算子的实现

PolarIMC 发的一篇挺好的文章,值得阅读。写作很认真: https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/implementation-of-groupjoin

算法训练营第五十九天 | LeetCode 115 不同的子序列、LeetCode 583 两个字符串的删除操作、LeetCode 72 编辑距离

LeetCode 115 不同的子序列 这题和编辑距离比较像,也就是今天的第三题。 这题用动规解决的是多对一的分支子问题推导出当前问题的思路。 同样递推公式由两个字符串平齐,如果当前字符相等,则当前问题可由第一个字符串0~i-1和0~j-1匹配数及0~…

【硬件模块】SSD1306 OLED屏幕(含GD32ESP32驱动代码)

OLED屏幕 最近在写GD32的文章,之前STM32有OLED屏幕来展示数据,ESP32可以直接打印到电脑屏幕上,GD32的话手上就没有办法了。 虽然是可以直接把STM32的OLED屏幕的驱动代码改改移植到GD32上面,不过想了想干脆写一个文章来说说如何驱…

2024牛客网高频精选Java面试八股文整理(附答案)

Java 面试 Java 作为编程语言中的 NO.1,选择入行做 IT 做编程开发的人,基本都把它作为首选语言,进大厂拿高薪也是大多数小伙伴们的梦想。以前 Java 岗位人才的空缺,而需求量又大,所以这种人才供不应求的现状,就是 Java 工程师的薪…

特别名词Test Paper7

特别名词Test Paper7 potteries 陶器power 权力;能源powerpoint 投影的文件precaution 预防precision 精密度preference 偏爱preposition 介词prescription 药方presentation 演讲;陈述preservation 保存president 总统;校长(大学…

公用nacos,实现只调用本机相应服务,不出现负载均衡到别人机器上

当我们有两个研发同时在调试一个微服务模块时,你和对方本地都会启动服务,这就导致在nacos会同时注册两个实例。默认情况下请求这个服务,具体处理请求的程序会在你和对方之间来回轮询,即一下你的服务一下对方的服务。 其结果就导…

栈(Stack)汇总

栈简介 栈(Stack)是只允许在一端进行插入或者删除操作的线性表。它的操作特性可以概括为——后进先出(Last In First Out,LIFO)。栈顶(Top)——线性表允许进行插入删除的一端; 栈底…

全面解析AdaBoost:多分类、逻辑回归与混合分类器的实现

1. 使用 AdaBoost 完成多分类和逻辑回归问题 多分类 AdaBoost 原本是为二分类问题设计的,但可以扩展到多分类问题。常用的方法包括 One-vs-All (OVA), AdaBoost.MH (Multiclass, Multi-Label) 和 AdaBoost.MR (Multiclass Ranking)。下面对每种方法进行详细介绍。…

PEPPERL+FUCHS倍加福模块R4D0-FB-IA10.1

PEPPERLFUCHS倍加福模块R4D0-FB-IA10.1 FA产品分类 1. 接近传感器类产品 - 电感式传感器 - 电容式传感器 - 磁式传感器 - 超声波传感器 - WCS位置编码系统 2. 光电传感器类产品 - 标准光电传感器 - 安全光电传感器 - 门控光电传感器 3. 编码器类产品 - 绝对值编码器 - 增量型编…

【Linux】基础IO——文件描述符,重定向

话接上篇: 1.文件描述符fd 磁盘文件 VS 内存文件? 当文件存储在磁盘当中时,我们将其称之为磁盘文件,而当磁盘文件被加载到内存当中后,我们将加载到内存当中的文件称之为内存文件。磁盘文件和内存文件之间的关系就像程…

红队内网攻防渗透:内网渗透之Linux内网权限提升技术:udf提权Capability权限LD_PRELOAD环境变量

红队内网攻防渗透 1. 内网权限提升技术1.1 Linux系统提权-Web&用户-数据库udf提权1.1.1 信息收集1.1.2 Web权限获取1.1.3 MYSQL-UDF提权1.1.4 下载到目标上1.1.5 连接确认是否有条件进行导出调用1.1.6 开始进行写入导出调用1.2 Linux系统提权-Web&用户-Capability能力1…

ThinkBook 16 2024 Ubuntu 触控板问题解决

sudo insmod goodix-gt7868q.ko sudo cp local-overrides.quirks /etc/libinput/local-overrides.quirks sudo systemctl restart gdm 有偿解决,无效退款 联系前,请写明笔记本型号和ubuntu版本

生命在于学习——Python人工智能原理(3.3)

三、深度学习 4、激活函数 激活函数的主要作用是对神经元获得的输入进行非线性变换,以此反映神经元的非线性特性。常见的激活函数有线性激活函数、符号激活函数、Sigmod激活函数、双曲正切激活函数、高斯激活函数、ReLU激活函数。 (1)线性…

【elementui源码解析】如何实现自动渲染md文档-第二篇

目录 1.概要 2.引用文件 1)components.json 2)json-template/string 3)os.EOL 3.变量定义 4.模版填充 5.MAIN_TEMPLATE填充 6.src下的index.js文件 1)install 2)export 7.总结 1.概要 今天看第二个命令no…

无理数的渊源

无理数-西方欧美数学史上的第1次危机 第一次数学危机是数学史上的一次重要事件,发生于公元前400年左右的古希腊时期。这次危机的出现冲击了一直以来在西方数学界占据主导地位的毕达哥拉斯学派,同时标志着西方世界关于无理数的研究的开始。 古希腊的毕达…

还在用nginx,这款网关更强大

OpenResty与Nginx在功能和性能上有着密切的关联,但也存在一些关键的区别。以下是OpenResty与Nginx在不同方面的具体比较: 1. **技术架构** - **OpenResty**:OpenResty基于Nginx核心,集成了LuaJIT VM,允许直接在Nginx中…

整理好了!2024年最常见 20 道并发编程面试题(五)

上一篇地址:整理好了!2024年最常见 20 道并发编程面试题(四)-CSDN博客 九、请解释什么是线程安全以及如何实现线程安全。 线程安全是一个重要的概念,特别是在多线程编程中。当多个线程访问共享数据时,如果…

videoJS 视频 + 独一无二皮肤 + mp4/m3u8

推荐和参考文章: video.js调用-腾讯云开发者社区-腾讯云> 一、总结(点击显示或隐藏总结内容)一句话总结:网上有各种细致的现成的代码可以拿来用,没必要自己死专1、video.js有两种初始化方式?一种是在v…

c++ 函数内对象的释放

void someFunction() {MyClass obj MyClass(); }void someFunction() {MyClass obj new MyClass();}void someFunction() {MyClass* obj new MyClass(); }void someFunction() {std::unique_ptr<MyClass> obj std::make_unique<MyClass>(); }在函数中用这4种…