数组、数组的删除添加、函数、返回值、匿名函数、回调函数

一、数组

概念:将多个元素按一定顺序排列放在一个集合中

创建数组(两种):

  • 字面量创建

  • 构造函数创建

数组的长度(length)、类型

  • 空数组 长度为0
  • 数组是object 引用类型

image-20240120124611412

如何获取数组中单个元素

  • 索引(下标):注意从0开始
  • 格式:数组名[索引值]
  • 如果没有元素,值为 undefined
  • 如果数组名为arr,第一个元素获取:arr[0],最后一个元素获取:arr[arr.length-1]

数组的删除与添加(两种)

栈操作(先进后出)

  • 添加元素:push()

  • 删除元素:pop()

  • 从最后开始添加或删除

    image-20240120111154024

队操作

遍历数组:将数组中的元素都访问一遍

image-20240120111012976

数组案例1:求一数组中的元素(number)的最大值和最小值,以及所在位置

image-20240120115106491

数组案例2:将字符串数组用A或其他符号分割,返回一个字符串

image-20240120115009845

数组案例3:反转数组

  • 注意:创建的是数组,返回的数组

image-20240120114901196

二、函数

函数概念:

  • 把具有特定功能的代码封装在一起

函数的定义(三种):

  • 函数声明: function 函数名(){函数体}
  • 函数表达式:var 函数名 = function(){函数体}
  • 构造函数定义

函数的命名规范

与变量的命名规范一样

函数的参数:

  • 形式参数(形参):在函数定义的小括号中的变量
  • 实际参数(实参):在函数调用的小括号的值

数学问题:

  • π用Math.PI
  • 1不是质数
  • 0的阶乘是1 1的阶乘是1

函数的返回值

  • 函数调用的结果就是函数的返回值 函数名()就是函数的返回值

  • 总结:

    • 如果没有return,或者return后面没有值,函数的返回值:undefined

    • 如果有return,函数的返回值:return后面的

    • 执行完return语句后,会退出,后面语句不会再执行

函数案例1:求n-m之间所有数的和

image-20240120160558096

函数案例2:求圆的面积

image-20240120160915444

函数案例3::判断一个数是否是素数(质数):

  • 是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

image-20240120161609046

函数案例4:求n的阶乘,n是正整数

image-20240120184749291

函数的进阶

1、如果两个函数都是函数的声明,且函数名相同,那么后边的函数会覆盖前边的

image-20240120185731430

2、如果两个函数都是函数表达式,且函数名相同,函数调用的位置在哪个函数的下边就调用那个函数

image-20240120185847515

3、如果两个函数分别是函数声明和函数表达式,且函数名相同,函数表达式覆盖函数声明

image-20240120185937450

4、函数的内置对象

  • 任何一个函数都有一个内置对象arguments,本身是个数组,其元素是函数的实参

image-20240120190620693

5、匿名函数

  • 函数外面加一个 ()

    image-20240120191205316

6、回调函数

  • 函数作为参数传入–回调函数

    image-20240120191653219

7、函数作为返回值

image-20240120192400546

  • 输出结果:

image-20240120192504024

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

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

相关文章

react中数据不可变

先看官网 一、不可变数据的概念 不可变数据意味着数据一旦创建,就不能被更改。在React中,每次对数据的修改都会返回一个新的数据副本,而不会改变原始数据。这种方式确保了数据的稳定性和一致性。 二、Props中的不可变数据 在React中&#xf…

MeterSphere本地化部署实践

项目结构 搭建本地环境 安装JDK11,配置好JDK环境,系统同时支持JDK8和JDK11安装IEAD,配置JDK环境配置maven环境,IDEA配置(解压可以直接使用)无限重置IDEA试用期配置redis环境(解压可以直接使用) 配置kafka环境 安装mysql-5.7环境&#xff…

VBA自学日志

文章目录 前言一、For each 循环二、offset 偏移三、Resize 属性四、Exit 语句五、DO...LOOP语句六、一些错误代码总结七、GOTO语句八、do while 和 do until九、如何在VBA内使用Excel工作表函数十、VBA使用随机数十一、排序总结 前言 VBA自学成柴的第三周 一、For each 循环 …

1、中级机器学习课程简介

文章目录 1、课程简介2、先决条件 本课程所需数据集夸克网盘下载链接:https://pan.quark.cn/s/9b4e9a1246b2 提取码:uDzP 1、课程简介 欢迎来到机器学习中级课程! 如果你对机器学习有一些基础,并且希望学习如何快速提高模型质量…

基于Yolov5+Deepsort+SlowFast算法实现视频目标识别、追踪与行为实时检测

前言 前段时间打算做一个目标行为检测的项目,翻阅了大量资料,也借鉴了不少项目,最终感觉Yolov5DeepsortSlowfast实现实时动作检测这个项目不错,因此进行了实现。 一、核心功能设计 总的来说,我们需要能够实现实时检测视…

ELK 日志分析系统

目录 一、日志管理方案 二、完整日志系统基本特征 三、ELK 简介 ELK组件: 1、ElasticSearch 2、Logstash 3、Kibana 可以添加的其它组件: 1、Filebeat 2、缓存/消息队列(redis、kafka、RabbitMQ等) 3、Fluentd 三、ELK …

github经常登不上去怎么办?

问题 想少些代码,多学习,少不了使用github,但是在国内经常上不去,很耽误事,这里提供一个简单方法,供参考。 github GitHub是一个面向开源及私有软件项目的托管平台,可以让开发者共同协作开发软…

C++总结笔记

1. 简介 1、面向对象程序设计 面向对象的四大特性 1)封装 2)继承 3)多态 4)抽象 2、标准库 标准C由三个部分组成 1)核心语言:提供了所有的构件块 2)C标准库:提供了大量的函…

大寒---每年的最后一个节气

# 大寒节气 # 大寒,是二十四节气中的最后一个节气。斗指丑;太阳黄经达300;于每年公历1月20日左右交节。大寒同小寒一样,都是表示天气寒冷程度的节气,大寒是天气寒冷到极致的意思。大寒节气处在三九、四九时段&#xf…

书生·浦语大模型实战营第四次课堂笔记

先来看看参考作业 哈哈到这才想起来写笔记 倒回去看发现要求将不要葱姜蒜换成自己的名字和昵称! 好好好我就是不配玩(换成管理员也不行!) 诶怎么能进这个环境?要进双系统ubuntu? 现在看视频发现原来是…

009 Linux_文件系统 | 软硬链接

前言 本文将会向你介绍文件系统与软硬链接 文章重点 本文将会先向你介绍文件是如何在磁盘上进行管理的,关于文件的管理将会从管理属性和管理内容两方面来谈,最后会向你介绍软硬链接的概念 文件在磁盘中的管理 首先,假设一个磁盘200GB&#…

Linux中的共享内存

定义: 共享内存允许两个或者多个进程共享物理内存的同一块区域(通常被称为段)。由于一个共享内存段会称为一个进程用户空间的一部分,因此这种 IPC 机制无需内核介入。所有需要做的就是让一个进程将数 据复制进共享内存中&#xff…

acwing讲解篇之94. 递归实现排列型枚举

文章目录 题目描述题解思路题解代码 题目描述 题解思路 定义递归深度deep,数字使用情况used,选择的数字顺序path 进行递归 终止条件为递归深度达到n层时,打印path,然后返回 深度加一 遍历未使用的数字,选择数字&am…

【rust/bevy】使用points构造ConvexMesh

目录 说在前面问题提出Rapier具体实现参考 说在前面 操作系统:win11rust版本:rustc 1.77.0-nightlybevy版本:0.12 问题提出 在three.js中,可以通过使用ConvexGeometry从给定的三维点集合生成凸包(Convex Hull) import { ConvexGeo…

【51单片机Keil+Proteus8.9】温室盆栽灌溉系统

实验五 实验名称 温室盆栽灌溉系统 软件设计: 1. 定义对应的引脚和端口的别名。 2. 编写延时函数,用于控制程序的执行速度。 3. 编写LCD控制函数,包括发送命令和发送数据两种操作。 4. 编写显示函数,用于在LCD上显示字符串…

无人机打击激光器

激光器的应用非常广泛,涵盖了多个领域。以下是一些主要的激光器应用: 医疗领域:激光器在医疗行业中有着重要应用,比如用于激光手术(如眼科手术)、皮肤治疗、牙科治疗、肿瘤治疗等。 工业制造:在…

无忧秘书智脑:轻松驾驭“看图说话”功能,职场沟通更高效

在现代职场中,有效的沟通是提升工作效率的关键。然而,有时候我们面对一张图片或图表,却难以用言语准确表达其中的信息。这时,无忧秘书智脑的“看图说话”功能就派上了用场。这篇文章将手把手教你如何使用这一功能,以及…

【MATLAB源码-第119期】基于matlab的GMSK系统1bit差分解调误码率曲线仿真,输出各个节点的波形以及功率谱。

操作环境: MATLAB 2022a 1、算法描述 GMSK(高斯最小频移键控)是一种数字调制技术,广泛应用于移动通信,例如GSM网络。它是一种连续相位调频制式,通过改变载波的相位来传输数据。GMSK的关键特点是其频谱的…

使用 Zabbix + Grafana 搭建服务器监控系统

搭建 Linux 服务器监控的目的是自己有一台阿里云服务器内存是 2g 的 , 多开一些软件就会把内存和 CPU 使用率弄的很高,最终导致服务器卡死。 所以基于这个痛点,想知道当前的 CPU 和内存是多少。阿里云 ECS 控制台中也提供对服务器的监控 , 但是为了学习…

文字的baseLine算法

使用canvas的drawText方法时候,除了要传入画笔和text还需要传入一个x坐标和y坐标。这边的x和y坐标是Baseline的坐标。 public void drawText(NonNull String text, float x, float y, NonNull Paint paint) {super.drawText(text, x, y, paint);} top:是 baseLine到…