<九>JavaScript中函数,函数的定义方式,形参、实参和返回值

news2025/2/4 21:46:53

JavaScript中的函数,也是一个对象,函数对象有所有普通对象有的性质。还可以在这个对象中封装一些功能,保存一些代码,在需要的时候调用这些代码,用typeof查看时,会返回类型:function。

定义函数的方式:

方式一:使用构造函数

	<script type="text/javascript">
			var fun = new Function("console.log('这是一个函数');");
			fun()
		</script>

将要封装的代码以字符串的形式传递给构造函数,在调用的时候执行封装的代码。

方式二:使用声明的方式创建函数(比较常见)

function [函数名称]([形参列表]) {
[函数要执行的语句]
}

方式三:使用函数表达式创建一个函数

<script type="text/javascript">
			function fun(){
				console.log("这是一个函数");
			}
			fun();
		</script>

方式三:使用函数表达式创建一个函数

	<script type="text/javascript">
			var fun=function(){
				console.log("这是一个函数");
			}
			fun();
		</script>

函数的形参和实参

在定义函数的时候,可以给函数的()中制定一个或者多个形参,多个形参之间用逗号分隔,这种声明形式就相当于在函数内部声明了对应的变量。

在调用函数的时候,可在()中制定实参,调用函数时,解析器不会检查实参类型,也不会检查实参的数量,多余的实参不会被赋值,缺少的实参会用undefined补齐。

<script type="text/javascript">
			function fun(a,b,c){
				console.log("这是一个函数,打印变量的值",a,b,c);
			}
			fun(1,2,3,4);
		</script>

		<script type="text/javascript">
			function fun(a,b,c){
				console.log("这是一个函数,打印变量的值",a,b,c);
			}
			fun(1,2);
		</script>

函数的返回值

可以使用return来设置函数的返回值,return的值将会作为函数的执行结果,可以定义一个变量来接收返回值。

在函数中,return后的语句都不会被执行,return后面不写任何值,或者没有return相当于返回undefined,return后面可以跟任意类型的返回值,也可以直接返回函数。

		<script type="text/javascript">
			function fun(a,b,c){
				console.log("这是一个函数,打印变量的值",a,b,c);
				return 123;
			}
			aa = fun(1,2);
			console.log("这个函数的返回值是",aa);
		</script>

		<script type="text/javascript">
			function fun(a,b,c){
				console.log("这是一个函数,打印变量的值",a,b,c);
				return fun;
			}
			aa = fun(1,2); //aa也是一个函数,也可以被调用
			console.log("这个函数的返回值是",aa);
			console.log("调用aa",aa(4,5));
		</script>

立即执行函数

定义后马上执行的函数,往往只能执行一次,立即执行函数也可以传参。

<script type="text/javascript">
			(function(){alert("我是一个匿名函数,且被马上执行了")})();
		</script>

如果一个函数作为一个对象的属性保存,那么我们就称这个函数是这个对象的方法,调用函数就是调用对象的方法。

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

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

相关文章

线程学习(2)

&#x1f495;"i need your breath"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;线程学习(2) 前情回顾&#xff1a; 在上一篇博客中介绍到了进程与线程的区别&#xff0c;以及初步了解如何在Java实现多线程编程&#xff0c;通过内置的Thread类来…

eNSP错误40,原因三:windows10自带虚拟化软件Hyper-V

问题描述 Hyper-V软件与VirtualBox不兼容&#xff0c;一旦开启Hyper-V的话eNSP的路由器就会无法开启&#xff0c;显示ERROR 40 原理 大家注意看hypervisor的两种类型&#xff1a; 左边的是开启hypervisor的Type-1&#xff0c;hypervisor在启用的时候&#xff0c;宿主机也相…

SQL指南:掌握日期函数来查询和管理数据

文章目录 1. 引言2. 建立数据库表2.1 建表语句2.2 数据插入 查询案例3.1 查询当前日期的订单3.2 查询过去一周内的订单3.3 查询明天的日期3.4 查询今年的订单3.5 查询特定月份的订单 总结 1. 引言 在数据库管理中&#xff0c;处理日期和时间是一项基本但重要的任务。本指南将通…

Android笔记(十九):JetPack DataStore 之 Preferences DataStore

Jetpack DataStore 是一种数据存储解决方案&#xff0c;主要适用于小型数据的处理。它可以通过协议缓冲区存储键值对或类型化对象。DataStore 使用 Kotlin 协程和 Flow 以异步、一致的事务方式存储数据。DataStore有两种实现方式&#xff08;1&#xff09;Preferences DataStor…

如何搭建Web自动化测试框架?

在程序员的世界中&#xff0c;一切重复性的工作&#xff0c;都应该通过程序自动执行。「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短&#xff0c;迭代速度越来越快&#xff0c;只会点点点&#xff0c;不懂开发的手工测试&#xff0c;已经无法满足如今的…

Enge问题解决教程

目录 解决问题的一般步骤&#xff1a; 针对"Enge问题"的具体建议&#xff1a; 以下是一些普遍适用的解决问题的方法&#xff1a; 以下是一些更深入的Enge浏览器问题和解决办法&#xff1a; 浏览器性能问题&#xff1a; 浏览器插件与网站冲突&#xff1a; 浏览…

R语言中使用ggplot2绘制散点图箱线图,附加显著性检验

散点图可以直观反映数据的分布&#xff0c;箱线图可以展示均值等关键统计量&#xff0c;二者结合能够清晰呈现数据蕴含的信息。 本篇笔记主要内容&#xff1a;介绍R语言中绘制箱线图和散点图的方法&#xff0c;以及二者结合展示教程&#xff0c;添加差异比较显著性分析&#xf…

Android13 Wifi启动流程分析

Android13 Wifi启动流程分析 文章目录 Android13 Wifi启动流程分析一、正常开关wifi 启动流程1、WifiManager2、WifiServiceImpl3、ActiveModeWarden4、ConcreteClientModeManager5、WifiNative6、WifiVendorHal7、HalDeviceManager8、wifi.cpp 二、重启设备时自动开启wifi流程…

云原生之深入解析基于FunctionGraph在Serverless领域的FinOps的探索和实践

一、背景 Serverless 精确到毫秒级的按用付费模式使得用户不再需要为资源的空闲时间付费。然而&#xff0c;对于给定的某个应用函数&#xff0c;由于影响其计费成本的因素并不唯一&#xff0c;使得用户对函数运行期间的总计费进行精确的事先估计变成了一项困难的工作。以传统云…

亚马逊推出 Graviton4:具有 536.7 GBps 内存带宽的 96 核 ARM CPU

如今&#xff0c;许多云服务提供商都设计自己的芯片&#xff0c;但亚马逊网络服务 (AWS) 开始领先于竞争对手&#xff0c;目前其子公司 Annapurna Labs 开发的处理器可以与 AMD 和英特尔的处理器竞争。本周&#xff0c;AWS 推出了 Graviton4 SoC&#xff0c;这是一款基于 ARM 的…

斩获冠亚军!开源检索引擎Puck闪耀NeurIPS‘2023

近日&#xff0c;备受全球瞩目的国际向量检索大赛 Big-ANN in NeurIPS’23 的排行榜正式公布。百度搜索内容技术团队&#xff0c;以其自研 ANN 检索算法 PUCK 的出色性能表现&#xff0c;成功斩获Streaming Search赛道冠军与Filtered Search赛道亚军。 NeurIPS&#xff08;Con…

Spring项目启动,运行停留在标题处

详情&#xff1a; 原因&#xff1a; yml文件存在问题&#xff0c;比如&#xff1a;在切换生产环境和开发环境的配置文件时&#xff0c;yml名称写错&#xff0c;如下&#xff0c;图&#xff0c;此处多写了一个p。 解决办法&#xff1a; 修改为正确的配置文件&#xff0c;即可。

27、ResNet50处理STEW数据集,用于情感三分类+全备的代码

1、数据介绍 IEEE-Datasets-STEW:SIMULTANEOUS TASK EEG WORKLOAD DATASET &#xff1a; 该数据集由48名受试者的原始EEG数据组成&#xff0c;他们参加了利用SIMKAP多任务测试进行的多任务工作负荷实验。受试者在休息时的大脑活动也在测试前被记录下来&#xff0c;也包括在其…

Java 中的内部类的定义

目录 一、成员内部类 二、静态内部类 三、局部内部类 四、匿名内部类 一、成员内部类 public class InnerClass {String name;private Integer age;static String hobby;/*** 成员内部类* 1、成员内部类中只能定义非静态属性和方法* 2、成员内部类中可以访问外部类的成员&a…

【深度学习实践】换脸应用dofaker本地部署

本文介绍了dofaker换脸应用的本地部署教程&#xff0c;dofaker支持windows、linux、cpu/gpu推理&#xff0c;不依赖于任何深度学习框架&#xff0c;是一个非常好用的换脸工具。 本教程的部署系统为windows 11&#xff0c;使用CPU推理。 注意&#xff1a; 1、请确保您的所有路…

晋江IP影视化频频折戟,网文陷入工业化困境

在影视行业进入IP时代的2023年&#xff0c;晋江文学城&#xff08;以下简称晋江&#xff09;IP影视化却迎来了大溃败。 2023年&#xff0c;晋江IP在影视行业依旧十分抢手&#xff0c;多部热门网文被影视化&#xff0c;其中不乏头部视频网站的S大制作&#xff0c;但播出效果却有…

.NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式

之前写过使用自定义返回类的方式来统一接口数据返回格式&#xff0c;.Net Core webapi RestFul 统一接口数据返回格式-CSDN博客 但是这存在一个问题&#xff0c;不是所有接口会按照定义的数据格式返回&#xff0c;除非每个接口都返回我们自定义的类&#xff0c;这种实现起来不…

Mybatis-plus动态条件查询QueryWrapper的函数用法

目录 前言1. QueryWrapper2. 函数3. Demo 前言 原本都是在Mapper文件中修改&#xff0c;直到看到项目中使用了QueryWrapper这个函数&#xff0c;大致了解了用法以及功能&#xff0c;发现还可以&#xff01; 对此此贴为科普帖以及笔记帖 1. QueryWrapper MyBatis-Plus 是 My…

你知道海外云手机可以用于外贸测评吗?

目前随着外贸行业的发展&#xff0c;像亚马逊、速卖通、eBay等海外电商平台越来越火热。在这些平台&#xff0c;过硬的产品质量、优秀的服务、合适的价格&#xff0c;再加上适量的跨境电商测评&#xff0c;很容易就能吸引不少的客户。那么如何利用海外云手机进行外贸测评&#…

rk3588多模型检测部署quickrun

quickrun 是一款rk3588 rknn多模型高效高并发部署软件 软件框架 采用session思想&#xff0c;可以定义多个session满足不同模型的义务需求。比如充电桩检测&#xff0c;垃圾分类&#xff0c;悬崖检测&#xff0c;模型共用一个摄像头&#xff0c;采用yolov5的模型。 采用消息…