JS函数

目录

1.Function声明

2.匿名函数

3.函数表达式

4.箭头函数

5.构造函数

个人版JS函数使用:

函数的声明:函数如果有return则返回的是 return 后面的值,如果函数没有有return

声明方式一:

声明方式二:变量名声明(匿名函数)

函数的参数:

形参:

实参:

JS参数的特别之处:

函数的返回值:

argumants的使用:

函数的基础特性:


1.Function声明

Function也称为函数语句或函数定义,是 JavaScript 中声明函数的最常见方式。

函数声明方法只是意味着我们将使用关键字function和function后的名称来声明函数。

function foo(){console.log('这是一个函数的打印结果')
}

在上面中“ function ”是关键字,“foo ”是函数名。

如果我们想调用这个函数,我们所要做的就是写下它的名字,然后加上括号,如下所示:

js
复制代码foo()

函数可以接受参数。如果我们的数据是动态的,我们可以向函数传递多个参数。

假如我们希望在使用foo函数时,它会根据我们传入的参数值,动态的打印我们的参数。

我们可以这样写:

function foo(arg){console.log('这是我们接收的参数'+arg)console.log(`这是我们接收的参数${arg}`)
}
foo("zayyo")

2.匿名函数

匿名函数顾名思义指的是没有名字的函数,

匿名函数仅使用function关键字就可以声明一个函数。

function(){console.log(`这是一个匿名函数的打印`)   
}

但是由于匿名函数在创建后无法访问,并且只能通过赋值给变量来访问,因此我们将把它存储在一个我们称之为 foo 的变量中,这就是我们将在接下来的内容中看到的函数表达式。

3.函数表达式

函数表达式允许我们创建一个没有任何函数名的匿名函数。并且通过声明一个变量通过赋值来执行它。

let foo = function(){console.log(`这是一个函数表达式的打印`) 
}

在上面的代码中变量foo存储了一个匿名函数。因此,匿名函数是通过调用带有尾随括号和分号的变量来调用的。

调用示例:

let foo = function(){console.log(`这是一个函数表达式的打印`) 
}
foo()

4.箭头函数

let 和const是es6新出的特性声明

这种方法是创建 JavaScript 函数的一种更简洁的方法。 代码示例:


const fun = (param1, param2) => {// 函数体
}
(数据) const定义类型(es6开始) fun相当于名称,将JS放在了变量fun中
=>相当于return

但是,由于箭头函数没有名称,如果我们要调用它,它应该存储在一个变量中,就像函数表达式一样。

(数据) const定义类型(es6开始) fun相当于名称,将JS放在了变量fun中

=>相当于return

当函数只有一个参数时,可以省略参数周围的括号。

调用示例:


let foo = ()=>console.log(`这是一个箭头函数的打印`) 
foo()

箭头函数为定义匿名函数提供了简洁的语法。与其他函数声明方式相比,箭头函数表达式的语法更短。

当箭头函数只有一条语句时,可以省略return关键字,函数会隐式返回这条语句的结果。

箭头函数也可以接收参数:

let foo = (arg)=> console.log('这是我们接收的参数'+arg)
foo()

创建箭头函数时,括号()和花括号{}对于单个函数参数和单个语句是可以不写的。

如果函数要执行的指令很多,那么这些指令应该用花括号{}括起来:

let foo =  (number)=>{if(number>0){console.log('number大于0')}else{console.log('number小于0')}
}

5.构造函数

声明函数的另一种方法是使用带有 new 关键字的 Function 构造函数。

让我们先看一下语法:

let sum =new Function("a","b","return a+b");console.log(sum(5,6))

JavaScript 有一个名为 Function 的内置构造函数对象,可用于声明和创建函数。

此构造函数可以传递任意数量的参数。在这个例子,我们向它传递了 2 个参数,即“ a ”和“ b ”。

最后一个参数是应该传递函数应该执行的指令的代码。也就是我们要执行的函数体。

一般语法是:

let funcName= new Function("arg1","arg2","arg3","arg4","arg5",......,"函数体")

所以在上面例子中我们使用 Function 对象创建了一个函数sum()。


 


个人版JS函数使用:

函数的声明:函数如果有return则返回的是 return 后面的值,如果函数没有有return

则返回undefined

声明方式一:

声明方式二:变量名声明(匿名函数)

var 变量名=function( 参数) { }

当进行调用时: 变量名( )


函数的参数:

形参不需要写数据类型:如在传数组时:可以直接穿【数据】/数组名

形参:

函数的名称里面的数据名称,只是一个代表。

形参的名称可以为任何的多个参数之间用逗号进行隔开。

实参:

在调用方法的时候需要传输的数据。



JS参数的特别之处:

当函数的形参有多个时:如果实参和形参数匹配正常进行。

如果实参个数多于形参的个数:数据会按照顺序给形参的对应位置,多余的不参与。

如果实参的个数小于形参的个数:则没有传输的数据会认为数据是undefined,输出的结果会是NaN


函数的返回值:

函数如果有return则返回的是 return 后面的值,如果函数没有有return

则返回undefined

使用return语句返回数据。

return之后的代码就不会在进行执行

return直接只能够传输一个数值,当多个时以最后为准

: return A,B,C输出B

加减的式子按为一个

但可以通过数组将数据全部传出 return [元素,元素]

也就是说,特别之处在于,他是直接将返回的数据给了调用方法短句,可以传给别的数据。

argumants的使用:

每个函数内部都有argumants

argumants存储的是调用函数时储存的数据。

argumants是伪数组,拥有数组的一些特性。

伪数组:

数据的获取直接argumants[索引] 即可获取

也可以将argumants进行遍历。

函数的基础特性:

函数之间可以进行相互调用

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

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

相关文章

第三百八十七回

文章目录 1. 概念介绍2. 使用方法3. 示例代码 我们在上一章回中介绍了DateRangePickerDialog Widget相关的内容,本章回中将介绍Radio Widget.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里说的Radio Widget是指单选按钮,没有选中时是圆形…

LLM 大模型框架 LangChain 可观测性最佳实践

LLM(Large Language Model)大模型的可观测性是指对模型内部运行过程的理解和监控能力。由于LLM大模型通常具有庞大的参数量和复杂的网络结构,因此对其内部状态和运行过程的理解和监控是一个重要的问题。 什么是 LangChain? Lang…

一文彻底搞懂从输入URL到显示页面的全过程

简略版: 用户输入URL后,浏览器经过URL解析、DNS解析、建立TCP连接、发起HTTP请求、服务器处理请求、接收响应并渲染页面、关闭TCP连接等步骤,最终将页面显示给用户。 详细版: URL解析:浏览器根据用户输入的URL&#x…

新火种AI|全国两会直击!政府报告首提,20位代表热议,人工智能+来了

作者:文子 编辑:小迪 两会来了,AI又火了。 “人工智能”行动开启,打造新质生产力 3月5日,全国人大十四届二次会议在北京人民大会堂开幕。国务院总理李强在2024政府工作报告中,首次提出“人工智能”的概…

使用Linux命令行上传及下载百度云盘文件(远程服务器大文件传输必备)

使用Linux命令行上传及下载百度云盘文件(远程服务器大文件传输必备) 简单记录一下两篇博客,通过bypy实现: https://developer.aliyun.com/article/1056072 https://mdnice.com/writing/1e33dbfdbbab4fbeba0d4a4632d0208a 1. 安装…

纯手工搭建一个springboot maven项目

前言&#xff1a;idea社区版无法自动搭建项目&#xff0c;手动搭建的经验分享如下&#xff1a; 1 包结构 参考下图&#xff1a; 2 项目结构 3 maven依赖 具体的项目包结构如下图&#xff1a; 依据这个项目包结构配置一个springboot 的 pom依赖&#xff1a; <?xml ve…

在 echarts 的 rich 中使用 iconfont 图标库图标作为 backgroundColor.image 值的方法

实现步骤 1、引入 iconfont.js。该脚本执行时&#xff0c;会在 body 下插入一个 svg 标签&#xff0c;标签下包含了图标库中的 svg 图标 path。 <script src"your/iconfont/path/iconfont.js"></script>或者 import your/iconfont/path/iconfont.js2、…

2024年最新整理腾讯云学生服务器价格、续费和购买流程

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

KOA优化最近邻分类预测(matlab代码)

KOA-最近邻分类预测matlab代码 开普勒优化算法&#xff08;Kepler Optimization Algorithm&#xff0c;KOA&#xff09;是一种元启发式算法&#xff0c;灵感来源于开普勒的行星运动规律。该算法模拟行星在不同时间的位置和速度&#xff0c;每个行星代表一个候选解&#xff0c;…

ZYNQ--AXI_DMA使用

文章目录 手册阅读典型连接图SG模式关闭时的寄存器地址SG模式开启时的寄存器地址BD设计PS端设计对于DMA寄存器的控制对DMA进行初始化手册阅读 典型连接图 SG模式关闭时的寄存器地址 SG模式开启时的寄存器地址

慢SQL调优-索引详解面试题

Mysql 慢SQL调优-索引详解面试题 前言一、慢查询日志设置二、explain查看执行计划三、索引失效四、索引操作五、profile 分析执行耗时 前言 最新的 Java 面试题&#xff0c;技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列…

软件测试工程师,如何工资过万?(我的经验之谈)

对于测试工程师这个岗位而言&#xff0c;月薪过万并不是一件难事&#xff0c;笔者毕业时的第一份工作便拿到了7K的薪资&#xff0c;如今入职两年&#xff0c;薪资也过了万元大关。 我周边有不少想要入行这一行业的小伙伴都对我目前的工作和生活状态好奇&#xff0c;在此写一篇文…