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

devtools/2024/9/20 1:32:00/ 标签: javascript, 开发语言, ecmascript

第三章:函数基础

    • 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关键字引导,后跟函数名,参数列表(如果有),最后是函数体。

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

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

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

3.1.2 函数表达式

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

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

3.2 参数与返回值

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

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

http://www.ppmy.cn/devtools/49721.html

相关文章

操作系统复习

一、操作系统的定义 操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它在计算机系统中占据了重要地位,汇编程序、编译程序、数据库管理系统等系统软件,都依赖于操作系统的支持&#xff…

centos7下安装redis

目录 一:软件版本 二:安装 一:软件版本 redis版本:redis-6.0.7 gcc版本:gcc-9.2.0 默认下centos7下gcc是4.8的需要升级,因为redis6.0需要gcc5.3以上 二:安装 1:安装gcc wget…

文心一言使用体验(彩色图例)

一、初识文心一言 在我日常生活和工作中,信息检索和处理一直是一个重要的环节。无论是学术研究、市场分析,还是个人兴趣探索,快速准确地获取信息都是至关重要的。然而,随着互联网信息的爆炸式增长,如何高效地从中筛选出…

PythonWeb项目-Django+vue宾馆管理系统功能介绍

本项目源码:基于Python的Django-vue宾馆管理系统源码-参考文档资源-CSDN文库 项目关键技术 开发工具:Pycharm 编程语言: Python 数据库: MySQL5.7 框架:Django、vue 前端:Vue、ElementUI 关键技术:Django、vue、MYSQL…

Python - 处理电子书的库

kindleunpack: 转换azw3为epub https://github.com/kevinhendricks/KindleUnpackkindlegen 转换epub为mobiOpenBookPublishers https://github.com/orgs/OpenBookPublishers/repositories?qsort%3Astarsepub2pdf : converting fixed-layout manga/comic files(epub…

【Spring Boot实现网页会话(Session )】

文章目录 前言什么是网页会话(Session)Spring Boot 中的 Session 管理Session 的创建与管理Session 的数据存储使用示例 前言 会话管理允许服务器在多次HTTP请求之间保持用户的状态信息,以便用户可以进行认证、保持登录状态等操作。 什么是…

Vue24-内置指令01:v-text指令

一、我们学过的指令 二、v-text v-text把所有的字符串当成文本去解析,所以不能解析html标签。 三、小结 所以,插值语法用的多!灵活

欢乐钓鱼大师保姆级教程,云手机辅助攻略解析!

在这份攻略中,我们将为大家详细介绍如何在《欢乐钓鱼大师》中快速提升钓鱼技能和游戏进展,避免常见的新手误区和不必要的资源浪费。无论是钓鱼点的选择、装备的合理使用还是技能的优化,我们都会一一为您详细解析,帮助您成为一名优…

redis清空list

redis list清空 要清空Redis中的list,您可以使用LTRIM命令。Redis Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 下标 0 表示列表的第一个元素,以 1 表示…

数据结构:顺序栈

目录 1.什么是顺序栈? 2.顺序栈的基本操作和应用 3.包含头文件 4.结点设计 5.接口函数定义 6.接口函数实现 什么是顺序栈? 顺序栈(Sequential Stack)是一种使用数组来实现的栈数据结构。栈是一种后进先出(Last In Firs…

Git 基础操作(一)

Git 基础操作 配置Git 安装完Git后,首先要做的事情是设置你的 用户名 和 e-mail 地址。这样在你向仓库提交代码的时候,就知道是谁提交的,以及提交人的联系方式。 配置用户名和邮箱 使用git config [--global] user.name "你的名字&qu…

opencv实战小结-银行卡号识别

实战1-银行卡号识别 项目来源:opencv入门 项目目的:识别传入的银行卡照片中的卡号 难点:银行卡上会有一些干扰项,如何排除这些干扰项,并且打印正确的号码是一个问题 最终效果如上图 实现这样的功能需要以下几个步骤…

文字悬停效果

文字悬停效果 效果展示 CSS 知识点 CSS 变量使用回顾-webkit-text-stroke 属性的运用与回顾 页面整体结构实现 <ul><li style"--clr: #e6444f"><a href"#" class"text">First</a></li><li style"--cl…

Hexapod C-887使用手册 -- 4,5,6

4 - 拆包 小心拆包C-887 根据合同和发货注意比较发货范围的内容&#xff1a; 检查危险符号的内容。如果任何零件损坏或缺失&#xff0c;立即联系客服部门。 保存所有包装材料&#xff0c;以防产品需要返厂。 5 - 安装 本章中 安装一般注意 安装PC软件 确保通风 接地C-…

从零实现ChatGPT:第三章实现大型语言模型(1)

准备深入学习transformer&#xff0c;并参考一些资料和论文实现一个大语言模型&#xff0c;顺便做一个教程&#xff0c;今天是第三部分。 本系列禁止转载&#xff0c;主要是为了有不同见解的同学可以方便联系我&#xff0c;我的邮箱 fanzexuan135163.com 实现大型语言模型 这…

Python实现逻辑回归与判别分析--西瓜数据集

数据 数据data内容如下&#xff1a; 读取数据&#xff1a; import numpy as np import pandas as pd data pd.read_excel(D:/files/data.xlsx) 将汉字转化为01变量&#xff1a; label [] for i in data[好瓜]:l np.where(i 是,1,0)label.append(int(l)) data[label] lab…

k8s-pod参数详解

目录 概述创建Pod编写一个简单的Pod添加常用参数为Pod的容器分配资源网络相关Pod健康检查启动探针存活探针就绪探针 作用整个Pod参数配置创建docker-registry 卷挂载 结束 概述 k8s中的pod参数详解。官方文档   版本 k8s 1.27.x 、busybox:stable-musl、nginx:stable-alpine3…

Go语言中的函数项模式

函数项模式&#xff08;Functional Options Pattern&#xff09;是一种创造性的设计模式&#xff0c;允许使用接受零个或多个函数作为参数的可变构造函数来构建复杂结构 在没有函数项模式之前&#xff0c;在包初始化加载配置选项的时候&#xff0c;一般有两种做法 编写不同的构…

人类如何挣脱被人工智能替代的命运?

人工智能技术的迭代升级&#xff0c;使得“换脸”“拟声”成为可能&#xff0c;我如何证明不是“我”&#xff1f;面对人工智能超高的生产效率&#xff0c;我如何与人工智能“抢工作”&#xff1f;在人工智能时代&#xff0c;如何回应这类疑问&#xff1f;挣脱被替代的命运&…

Unity射击游戏开发教程:(27)创建带有百分比的状态栏

创建带有弹药数和推进器百分比的状态栏 在本文中,我将介绍如何创建带有分数和百分比文本的常规状态栏。 由于 Ammo Bar 将成为 UI 的一部分,因此我们需要向 Canvas 添加一个空的 GameObject 并将其重命名为 AmmoBar。我们需要一个文本和两个图像对象,它们是 AmmoBar 的父级。…