函数

简介: 函数

函数对象解构赋值

function func({name,age}) {
   age += 1;
   console.log(age);
}
func({name:'张三',age:15});
func({age:15,name:'张三'});


通过键值形式传参,可以避免参数传反

设置默认值
function func({name,age} = {}) {
   age += 1;
   console.log(age);
}
func();

func () 相当于传入了 undefined,使用默认值,默认值是空值,空值加 1 返回 NaN

function func({name='xx',age= 25} = {}) {
   age += 1;
   console.log(age);
}
func();


执行对象解构赋值,因为没有解构值,解构默认值要生效:name=’xx’,age= 25

接收用户任意值
function func(...v) {
   console.log(v)
}
func(1,2,3,4,5)


形参使用…v,表示接收用户任意长度数值,赋值给 v

function func(a,b,c,...v) {
   console.log(v)
}
func(1,2,3,4,5)


数组传参

function func(a,b) {
   console.log(a,b);
}
func(...[1,2])


…[1,2], 这种写法是将数组里的元素拆开传入参数

匿名函数
let fun1 = function() {
   console.log('fun1');
}
fun1();

函数名省略掉,使用变量接收函数,调用函数变量加括号调用

箭头函数
fun1();
let fun2 = () => console.log('fun1');
fun2();

箭头函数省略掉 function 关键字和函数名,括号后用 =>,后面跟上函数体,省略掉花括号

// let fun2 = function (x) {
//    console.log(x);
//    console.log('fun2');
// }
//
// fun2(1);
//使用箭头函数简化匿名函数
let fun2 = x => {console.log(x);console.log('fun2');}
fun2(1);

形参只有一个时括号可以省略,函数体中多个语句花括号不能省略,多个语句用分号分隔

let fun3 = function() {
   return 'fun3'
}
console.log(fun3())
let fun33 = () => 'fun33'
console.log(fun33())

没有形参时括号不能省略,return 关键字也可以省略

fun4 = function (x,y) {
   return x + y
}
console.log(fun4(1,2))
fun44 = (x,y) => x + y;
console.log(fun44(3,5))

多个形参括号不能省略,return 关键字也可以省略

实际应用
let ladies = ['西施','王昭君','貂蝉','杨玉环']
// ladies.forEach(function (value,index,array) {
//    console.log(value,index,array);
// })
ladies.forEach((value,index,array) => console.log(value,index,array))
相关文章
|
数据采集 机器学习/深度学习 人工智能
中文竞技场大模型测评-龙虎榜
本次测评选取写作创作相关、代码相关、知识常识、中文游戏、人类价值观、NLP专业领域6大场景和20个细分维度,分别对通义Qwen-Chat-7B、凤凰Phoenix-7B、ChatGLM2-6B、moss-moon-003-sft等大模型进行了超过 200+ 道题的评测。测评旨在为大家提供有关这些模型在不同领域和维度上的表现,更好地选择适合自己需求的模型和应用,期待这次测评能够为AI模型领域的学习和研究提供有价值的参考和指导。
70353 5
|
前端开发
html 格式
【10月更文挑战第14天】html 格式
807 4
|
算法 C++
剑指offer(C++)-JZ41:数据流中的中位数(算法-排序)
剑指offer(C++)-JZ41:数据流中的中位数(算法-排序)
199 0
剑指offer(C++)-JZ41:数据流中的中位数(算法-排序)
|
9月前
|
人工智能 自然语言处理 算法
阿里云云市场专区在杭州数据交易所上线啦!
阿里云云市场专区在杭州数据交易所上线啦!
|
7月前
|
监控 安全 BI
Active Directory 迁移的分步指南
活动目录(AD)迁移是一项复杂任务,可能因执行不当导致业务中断。为确保顺利迁移,需遵循10个关键步骤:评估现有环境、定义域结构、规划目标架构、检查安全性、准备数据、试点迁移、正式迁移对象、同步密码、验证新环境及停用旧系统。ManageEngine ADManager Plus 是一款高效工具,可简化迁移流程,支持跨域或林迁移用户、组和GPO,同时避免数据丢失并保持环境性能。通过精准规划与专业工具结合,可实现安全、顺畅的AD迁移体验。
358 0
|
消息中间件 数据库
消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)
消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)
310 0
|
Rust 定位技术
一行命令快捷构建在线地图字体切片服务
一行命令快捷构建在线地图字体切片服务
243 3
|
SQL 存储 算法
clickhouse SQL优化
clickhouse 是 OLAP 数据库,但其具有独特的索引设计,所以如果拿 MySQL 或者其他 RDB 的优化经验来优化 clickhouse 可能得不到很好的效果,所以特此单独整理一篇文档,用于有 SQL 优化需求的同学,本人接触 clickhouse 时间也不长,难免有不足的地方,如果大家发现错误,还请不吝指正。
83944 3
|
机器学习/深度学习 XML 算法
算法金 | 自动帮你完成物体检测标注?这个工具你必须了解一下
Auto-Annotate是一款基于半监督学习的自动图像标注工具,旨在简化对象检测任务中的标注工作。利用少量标注数据,该工具能为大规模图像数据集生成标签,提高效率。支持自定义置信度阈值,适用于多类别检测和模型原型开发。通过pip安装,命令行或Python代码调用。虽然不能完全替代手动标注,但能有效减少标注量,适用于持续学习和模型更新。工具使用涉及模型选择、参数配置,如置信度阈值的调整,以平衡准确性和覆盖率。
266 0
算法金 | 自动帮你完成物体检测标注?这个工具你必须了解一下
|
存储 分布式计算 Hadoop
大数据存储技术(1)—— Hadoop简介及安装配置
大数据存储技术(1)—— Hadoop简介及安装配置
887 0

热门文章

最新文章