JavaScript 函数(含经典案例:反转数组、求所有参数最大值、判断闰年、获取指定年份的2月份的天数)

基于 FPGA Vivado 示波器设计(附源工程) 今天给大侠带来基于 FPGA Vivado 示波器设计,开发板实现使用的是Digilent basys 3,如有想要入手basys3开发板的,可以联系牛总:18511371833。话不多说,上货。 本篇掌握基于添加文件和IP的Vivado工程设计流程,掌握基于Tcl的Vivado工程设计流程,学习示波器的基本组成结构。获取本篇相关源工程代码,可在公众号内回复“示波器设计源工程”。 原理介绍 数字存储示波器能够将模拟信号进行采样、存储以及显示。本系统在DIGILENT ... 阅读详情


可以实现某种特定功能的代码块。

一、 函数的使用

函数在使用时分为两步︰声明函数和调用函数。

1. 声明函数:

	function 函数名([参数])
	{
	   函数体语句
	}

(1)function是一个关键字,全部小写;
(2)函数名:是一个标识符,建议使用驼峰命名,做到见名知义;
(3)函数可以有参数也可以没有参数,可以有多个参数,若有多个参数,参数之间用逗号分隔;
(4)"{}"表示函数的控制范围,不能省略;
(5)函数体语句可以有多条,建议一个函数只完成一个功能

  • 内聚:模块内部结合的紧密程度
  • 耦合:模块之间结合的紧密程度

声明方式

(1)利用函数关键字自定义函数(命名函数)

	function fn() {
	
	}
	fn();

(2)函数表达式(匿名函数)
定义:将声明的函数赋值给一个变量,通过变量完成函数的调用和参数的传递。
函数表达式的定义必须在调用前。

	var 变量名 = function() {};
	var fun = function() {
		console.log('函数表达式');
	}
	fun();
  • fun是变量名不是函数名
  • 函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值而函数表达式里面存的是函数

2. 调用函数

//调用函数
函数名(); //通过调用函数名来执行函数体代码

事件名 = 函数名([参数]);

函数可以重复调用:

	function cook() {
	console.log('酸辣土豆丝');
	cook();
	cook();

调用的时候千万不要忘记添加小括号
口诀︰函数不调用,自己不执行。
注意 :声明函数本身并不会执行代码,只有调用函数时才会执行函数体代码。

二、 函数的参数

1. 形参和实参的定义

在声明函数时,可以在函数名称后面的小括号中添加一些参数,这些参数被称为形参,而在调用该函数时,同样也需要传递相应的参数,这些参数被称为实参。

参数说明
形参形式上的参数 函数定义的时候传递的参数 当前并不知道是什么
实参实际上的参数 函数调用的时候传递的参数 实参是传递给形参的

(1)形参(形式参数):在定义函数时出现在函数首部的参数,在定义函数时形参只是占位符,没有确定的值;

(2)实参(实际参数):函数调用时出现在函数首部的参数,是实际的值。

2. 形参和实参的使用

参数的作用:在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。

(1)我们可以利用函数的参数实现函数重复不同的代码

	function 函数名(形参1,形参2...) { //在声明函数的小括号里面是形参(形式上的参数)
	}
	函数名(实参1,实参2...);//在函数调用的小括号里面是实参(实际的参数)

(2)形参和实参的执行过程
参数的传递方式:实参将数据传递给形参。
实参向形参传递数据是单向的,形参的改变不会影响到实参。

function cook(aru) { //形参是接受实参的 aru = '酸辣土豆丝' 形参类似于一个变量
console.log(aru);

cook('酸辣土豆丝');
cook('大肘子');

(3)函数的参数可以有,也可以没有个数不限。

注意点
(1)多个参数之间用逗号隔开;
(2)形参可以看做是不用声明的变量。

3. 函数形参和实参个数不匹配问题

参数个数说明
实参个数等于形参个数输出正确结果
实参个数多于形参个数只取到形参的个数
实参个数少于形参个数多的形参定义为undefined,结果为NaN

注意:在JavaScript中,形参的默认值是undefined。

// 1.如果实参的个数和形参的个数一致则正常输出结果
getSum(1,2);
// 2.如果实参的个数多于形参的个数会取到形参的个数
getSum(1,2,3);
// 3.如果实参的个数小于形参的个数﹑多于的形参定义为undefined最终的结果就是NaN
//形参可以看做是不用声明的变量,num2是一个变量但是没有接受值,结果就是undefined
getSum(1);// NaN
//建议我们尽量让实参的个数和形参相匹配

4. 函数的返回值

函数的返回值格式

function 函数名(){
	return 需要返回的结果;
}
函数名();

(1)我们函数只是实现某种功能,最终的结果需要返回给函数的调用者——函数名(),通过return实现的;
(2)只要函数遇到return就把后面的结果返回给函数的调用者,函数名() = return 后面的结果
(3)代码验证

	function getResult() {
		return 666;
	}
	getResult(); //getResult()= 666
	console.log(getResult());//打印666
	//求任意两个数的和
	function getSum(num1,num2) {
		return num1 + num2;
	}
	console.log(getSum(1,2)); // 3

return 终止函数

return语句之后的代码不被执行。
注意事项:
1. return终止函数

	function getSum(num1, num2) {
		return num1 + num2; //return后面的代码不会被执行			    
		alert('是不会被执行的! ')
	}
	console.log(getSum(1,2));

2. return只能返回一个值

	function fn(num1, num2) {
		return num1, num2;//返回的结果是最后一个值
	}
	console.log(fn(1, 2));

例:
求任意两个数的加减乘数结果

function getResult(num1, num2) {
	return [num1 + num2, num1 - num2, num1 * num2, num1 / num2];
}
var re = getResult(1,2);//返回的是一个数组[3,-1,2,0.5]
console.log(re);

3 . 我们的函数如果有 return 则返回的是 return 后面的值,如果函数没有 return,则返回undefined。

	function fun1(){
		return 666;
	}
	console.log(fun1());//返回666
	
	function fun2() {
	
	}
	console.log(fun2());//函数返回的结果是undefined

4. break, continue, return 的区别
break :结束当前的循环体(如for、while );
continue :跳出本次循环,继续执行下次循环(如for、while );
return :不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码。

三、arguements的使用

当我们不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。

arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点:

  • 具有length属性;
  • 按索引方式储存数据;
  • 不具有数组的push , pop等方法。
	function fn() {
		console.log(arguments);//里面存储了所有传递过来的实参
		//我们可以按照数组的方式遍历arguments
		for (var i = 0; i < arguments.length; i++) {
			console.log(arguments[i]);
		}
	}
	fn(1,2,3,4,5);//先完整打印arguments,再依次打印1,2,3,4,5

四、经典案例

反转数组

编写一个reverse()函数,该函数的参数是一个数组,在函数中会对数组中的元素顺序进行反转,返回反转后的数组。

function reverse(arr) {
  var newArr = [];
  for (var i = arr.length - 1; i >= 0; i--) {
    newArr[newArr.length] = arr[i];
  }
  return newArr;
}
var arr1 = reverse([1, 3, 4, 6, 9]);
console.log(arr1);		// 输出结果:(5) [9, 6, 4, 3, 1]

求所有参数中的最大值

案例要求:编写一个getMax()函数,该函数可以传任意数量的参数,在函数中会找出所有参数中最大的一个值,将该值返回。

function getMax() {
  var max = arguments[0];
  for (var i = 1; i < arguments.length; i++) {
    if (arguments[i] > max) { max = arguments[i]; }
  }
  return max;
}
console.log(getMax(11, 2, 34, 666, 5, 100));	// 输出结果:666

判断闰年

案例要求:编写一个isLeapYear()函数,该函数的参数是一个年份数字,在函数中会判断该年份是否为闰年,返回布尔值的结果。

function isLeapYear(year) {
  var flag = false;
  if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    flag = true;
  }
  return flag;
}
console.log(isLeapYear(2020) ? '2020是闰年' : '2020不是闰年');
console.log(isLeapYear(2021) ? '2021是闰年' : '2021不是闰年');

获取指定年份的2月份的天数

案例要求:编写一个fn()函数,该函数调用后会弹出一个输入框,要求用户输入一个年份,输入以后,程序会提示该年份的2月份有多少天。

function fn() {
  var year = prompt('请输入年份:');
  if (isLeapYear(year)) {  alert(‘当前年份是闰年,2月份有29天’); }
  else {  alert('当前年份是平年,2月份有28天'); }
}
function isLeapYear(year) {
	var flag = false;
	if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
	flag = true;
	}
	return flag;
}
fn();
Unity实战篇 | 教你怎样将Unity的启动Logo 设置成 自己制作的 帧动画 上一篇文章我们讲了怎样在不购买专业版的情况下自定义Unity的启动Logo。 那本篇文章就来介绍一下,怎样在去除默认Logo的前提下制作自己的启动动画! 阅读详情

相关推荐

双向晶闸管交流调压基础知识及Multisim电路仿真

本文介绍了双向晶闸管交流调压电路的工作原理及应用。该电路由双向晶闸管、RC移相电路和双向触发二极管组成,通过调节电位器改变触发角实现电压调节。当电位器阻值减小时,触发角减小,输出电压升高;阻值增大时,触发角增大,输出电压降低。Multisim仿真展示了不同电位器档位下的波形特征:0%档位时全导通,50%档位时半导通,100%档位时基本关断。该电路结构简单、调节平滑,广泛应用于调光、调速等场合,但会产生谐波干扰。

XU157303764的博客 838

JavaScript 函数,进阶函数

JavaScript 函数,进阶函数函数函数的进阶 函数 函数的进阶

weixin_49087505的博客 1255

学习C++的递归函数(包含汉诺塔讲解)

简单来讲,递归函数就是函数本身自己调用自己,那么函数又是什么呢?#include <stdio.h> //这行是头文件,不同的头文件可以用不同的函数int main() //这里就是一个main函数//这里是你要编写程序的内容return 0;(这是个小细节如下)所以我们平时用来练习的就是一个main函数,而且是一个整型类型的函数,而这也是最后一句话为什么要加一句 return 0;了,因为它最后要返回整数类型,其它整数也可以,但是大家规定为0,这是C++自带的函数。

2302_81032013的博客 2594

JavaScript使用函数的调用使用户输入年份,可以输出当前年份2月份的天数

用户输入年份,输出当前年份2月份的天数。使用函数调用 如果是闰年,则2月份是29天,如果是平年,则2月份是28天

hgx455的博客 5096

TPAMI 2025新作LRFormer复现笔记:我的Windows 11 + RTX 4090配置全流程

本文详细记录了在Windows 11系统下使用RTX 4090显卡复现TPAMI 2025顶会论文LRTransformer的完整流程,包括硬件配置、系统优化、Python环境搭建及模型训练中的常见问题解决方案。特别针对Windows平台特有的路径管理、CUDA版本冲突和显存优化等关键技术细节提供了实用指南,帮助开发者高效完成环境搭建和模型训练。

weixin_29094301的博客 412

车载以太网入坑指南,从小白到懂哥的进阶之路【技术分享】

各位技术大佬们好!最近公司项目涉及到车载以太网,刚开始完全懵逼,花了大半个月时间各种查资料、测试设备,总算是摸清了门道。想着互联网上卧虎藏龙,肯定有不少大佬对这个技术感兴趣,所以写个帖子分享一下,顺便求各位大佬指点。

starelink的博客 1261

判断闰年的神秘代码解析

本文通过解析一段神秘的代码来揭示其中隐藏的判断闰年的奥秘。通过对代码的逐行解读和注释,并延申讲解闰年的概念以及该代码的实现原理,帮助读者更好地理解和使用这段代码。

cytingle 1356

工业产线瑕疵检测:基于 YOLO 的自动化质检系统实战

从工业瑕疵数据集构建到模型训练,从桌面检测界面到产线适用性优化,本文覆盖了一套工业质检系统的完整路线。这个场景的核心评价指标不是最高精度,而是在保证 recall ≥ 0.95 的前提下尽可能压低 false positive——因为漏检的直接成本(客户投诉、质量事故)远高于误报的成本(人工复检)。部署时先设一个偏低的置信度阈值确保覆盖,再通过持续收集人工复检数据来逐步调优。

m0_71589036的博客 67

JavaScript开发之计算某年份的2月份天数案例

今天,运用JavaScript的相关知识,制作了一个计算某年份2月份天数的案例。希望我们互相学习,共同进步! 最终效果图: js代码部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta

weixin_47062907的博客 1810

【ArcGIS Pro微课1000例】0067:ArcGIS Pro3.4.2学习版下载及安装教程

【ArcGIS Pro微课1000例】0067:ArcGIS Pro3.4.2学习版网盘下载及安装教程

智慧空间实验室 2389

Vue3 - Element Plus 下拉选择器 el-select 覆盖修改 placeholder样式,解决覆盖不生效问题(支持修改文字颜色、文字大小、选择器边框、hover效果、宽高等任意样式

vue3,element-plus,el-select,下拉选择器,下拉选择框,Select选择器,deep覆盖无效怎么办,怎么修改placeholder文字颜色,选择器select修改边框样式,修改文字大小,elementPlus选择器如何覆盖hover效果,使用deep改不了样式,修改边框颜色,select去掉边框,vue3+elementPlus中select选择器如何修改placeholder文字样式,修改el-select样式,select选择器样式覆盖不了咋办,el-select如何覆盖原样式,

🏆 前端领域优质创作者 1万+

javascript输出二月份的天数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&...

liuyang___的博客 1589

基于CNN的三相故障识别算法及实现(Matlab)

通过预处理数据、构建CNN模型、训练与评估模型等步骤,我们可以准确快速地识别三相故障。现代电力系统中,三相故障是一种常见的故障情况,可以导致电网中断、设备损坏甚至火灾等严重后果。本文将介绍基于卷积神经网络(CNN)的三相故障识别算法,并提供Matlab源代码实现。首先,将原始信号分为训练集和测试集。然后,对输入信号进行归一化处理,确保数据在合适的范围内。CNN适用于处理二维数据,所以我们可以将输入信号看作是时间序列数据和特征(如电压、电流等)的二维矩阵。在开始之前,我们需要一个包含正常和故障样本的数据集。

学习使你进步。 384

前端java作业笔记!

/ console.log(reverse(['苹果','草莓','桃子','葡萄','香蕉','橘子']))//编写reverse()函数,该函数的参数是一个数组,在函数中会对数组中的元素顺序进行反转,并返回反转后的数组。// 编写一个isLeapYear()函数,该函数的参数是一个年份数字,利用isLeapYear()函数。// 编写一个fn()函数,该函数调用后会弹出一个输入框,要求用户输入一个年份数字、//当用户输入年份数字后,程序会提示用户该年份的2月份天数(闰年29天,平年28天)

2302_80058560的博客 466

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

利用函数翻转任意数组案例

6.利用函数翻转任意数组案例 <script> function reverse(arr){ var newArr = []; for(var i=arr.length-1;i>=0;i--){ newArr[newArr.length]=arr[i]; } return newArr; } var arr1 = r

个人站点:https://www.heimajinpai.cn/ 487

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JS中封装函数的几个小例子

大致思路:这题难点是在任意个数,我们用函数传入任意个数的参数,来求这里面的最大值。我们知道每个函数里都有一个隐藏的伪数组,当我们不清楚传入参数的个数是,我们就可以用到伪数组。常识:1,3,5,7,8,10,12为31天;4,6,9,11为30天;大致思路:利用循环遍历数组从而求出数组中的最大值、最小值、还有和。大致思路:我们可以将数组中元素一点点调换位置,最终实现反转数组。四、创建一个函数传递一个数组返回数组中的最大值,最小值,还有和。二、传递一个数组,实现数组翻转的函数。一、利用函数求任意个数的最大值。

qq_60060362的博客 372

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python 调用函数并获取返回值

首先,让我们快速回顾一下如何定义和调用一个函数。在Python中,使用​​def​​关键字定义函数。函数可以包含多个参数,并使用​​return​​关键字返回结果。通过以上几个代码案例,我们展示了如何定义函数并获取其返回值。在实际开发中,函数的合理使用可以极大地提高代码的可读性和重用性。如果你有更多的任务可以通过函数来解决,不妨尝试定义自己的函数并调用它们获取结果。希望这篇博客对你理解Python函数的使用有所帮助。

Web安全工具库 1274

arguments的使用

arguments的使用1、arguments的使用2、案例:利用函数求任意个数的而最大值3、案例:利用函数翻转任意数组4、利用函数封装冒泡排序5、利用函数封装“是否是闰年”6、函数之间是可以相互调用的7、案例:输入年份,判断该年2月份天数 1、arguments的使用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport"

qq_46112274的博客 1948

函数案例练习

1.求两个数中的最大值 function getMax(a,b){ return a &amp;gt; b ? a : b; } console.log(getMax()); 2.求三个数中的最大值 function getMax(a,b,c){ return a &amp;gt; b ? (a &amp;gt; c ? a : c) : (b &amp;gt; c ? b : c); } console.log(getM...

Fei-Da-Da的博客 459

函数中的更多用法

arguments的使用 JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。也就是说所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有的实参。arguments是一个伪数组,因此及可以进行遍历 案例: 求任意个数的最大值: //求一组数中的最大值 function arr(){ var max = arguments[0]; console.log(argume

H_zhiyi的博客 253

【熬夜猛肝万字博文】学妹问我怎么入门 Javascript,百般盘问下我终于决定贡献出自己的 JavaScript入门笔记(四)

感激相遇,你好,我是阿ken?? 版权声明:本文为优快云博主「」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 另外,博文中某些图片或内容可能出自网络,如有侵权或问题,请及时私信我 有学妹想以后做前端,就会问到 JavaScript怎么学的问题,在多次百般盘问下,阿ken?? 决定贡献出自己之前学习 JavaScript时的笔记。 安全感这个东西对于大多数人而言 是靠很多次坚持不懈去努力争取的 不要因为没怎么努力过 到头来连一件值得回忆的事情都没有 这不是为了向

embelfe_segge的博客 1126

JavaScript - 函数

文章目录前言一、什么是函数二、函数的使用声明函数调用函数案例 : 求1~100之间数的累加和三、函数的参数形参和实参函数的形参和实参个数不匹配的问题四、函数的返回值函数的返回值格式 前言 在js里面, 可能会有很多相同代码或者功能相似的代码, 这些代码需要大量重复使用, 这时我们就可以使用JS中的函数. 一、什么是函数 函数就是封装了一段可以被重复调用执行的代码块. 让大量代码重复使用. 二、函数的使用 声明函数 function 函数名(){ 函数体 } function 是声明函数的关键字.

qq_33962481的博客 232

09-数组和函数案例/输入年月日,判断第几天/翻转数组/斐波那契数列/两个数之间的素数/数组去重/冒泡排序/定义一个含有30个元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每五个

小案例 //案例1:求数组中所有元素之和: var arr1 = [10,20,30,40,50,60,70,80,90,100]; var sum = 0; for (var i = 0; i < arr1.length; i++) { // console.log(arr1[i]); sum += arr1[i]; } console.log(sum); //案例2:求数组中所有元素的平均值 var arr2 = [1,2,3,4,5]; var

weixin_41452476的博客 277

javascript从入门到高级,每天不停更新知识点(6天)

1.函数 1.0函数的封装:把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口。 1.1利用函数计算1-100之间的累加和 function getNum() { var sum = 0; for (var i = 1; i <= 100; i++) { sum += i; } console.log(sum); }

qq_44890362的博客 259

js基础案例归档

双重循环:外层循环控制行数,内层循环行内个数 1:打印一个倒三角 let str = '' for (let i = 1; i<=9; i++) { for (let j = i; j<=9; j++ ) { //从i开始,内部一直到<=9位置 str += '⭐️'+'\t' } str +...

不想起床 267

函数的使用以及注意点

函数命名 使用function 函数名(形参){ 函数体 } arguements 伪数组 ,并不是整整意义上的数组 按照索引的方式进行存储 他是没有真正数组的一些方法pop() push()等 只有函数才有arguments对象,而且每个函数都内置好了arguments对象 判断2月有多少天案例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta

小宝的博客 178
上一篇: JavaScript 数组常用算法总结——【查找算法、排序算法、二维数组排序和转置】
下一篇: MySQL压缩包安装5.5版本之后Installer安装8.0版本遇到的问题
impact_factor
博客等级 码龄6年 32粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值