函数

简介: 函数

函数对象解构赋值

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))
相关文章
|
1月前
|
存储 编译器 Serverless
C++系列十:函数
C++系列十:函数
|
9月前
|
数据库 索引
pginspect几个函数
pginspect几个函数
42 0
|
4月前
|
存储 C语言
对函数的剖析二
对函数的剖析二
29 0
|
4月前
|
存储 编译器
函数(下)
函数(下)
60 0
|
8月前
|
存储 编译器 C语言
C语言知识点之 函数
C语言知识点之 函数
32 0
|
9月前
|
算法 编译器
函数(2)
函数(2)
|
9月前
|
程序员 C语言
函数(1)
函数(1)
|
11月前
|
算法 编译器 API
8.函数
8.函数
54 0
函数加强
在我们日常开发中,如果要遍历一个文件夹下的所有文件,通常使用递归来实现;
|
JavaScript 前端开发 API
h函数为什么叫h?
h函数为什么叫h?
201 0