函数 function
也是一个对象,函数可以存储代码,在需要的时候去调用
创建函数
1.函数声明
function 函数名() {
函数体
}
2. 函数表达式
const 变量 = function() { //匿名函数
}
3.箭头函数
()=>{}
调用函数:执行函数中存储的代码
函数名()
函数参数
形式参数
定义函数时,可以指定数量不等的参数
实际参数
在调用函数时,在函数()中传入数量不等的参数
实参数量 = 形参数量 实参赋值给对应的形参
实参数量 > 形参数量 多余的实参不生效
实参数量 < 形参数量 多余的形参赋值undefined
对象作为函数的参数
函数作为函数的参数
- 函数做参数
function fn(a) {
console.log(a);
a() // 等价于fn2()
}
function fn2() {
console.log('我是fn2');
}
fn(fn2)
- 匿名函数做参数
fn(function () {
console.log('匿名函数');
})
- 箭头函数做参数
fn(() => { console.log('箭头函数'); })
函数返回值
return关键字来指定函数的返回值
函数的返回值可以作为结果返回
任何值都可以作为返回值使用(包括函数)
如果return后不跟任何值 相当于返回undefined, 如果不写return 也返回undefined
执行return后,函数就结束了,后面的代码不再执行
函数做对象的方法(methods)
当一个对象的属性是一个函数,那么就称这个函数是对象的方法
调用函数 被称为访问对象的方法
语法: 对象.方法()
let obj = {}
obj.name = '焦'
obj.age = 21
obj.say = function () {
alert('我好开心')
}
obj.say()
箭头函数
1. 箭头函数参数
当箭头函数只有一个参数,()可省略
当箭头函数只有一行代码,{}可省略
当给参数指定默认值
如果有实参,就赋值
如果没有实参,就用默认值
const fn = a => console.log(a)
fn(1)
2.箭头函数返回值
return关键字
只有一行return语句 return 可以省略
如果返回值是对象 需要加()
const fn7 = (a, b) => a + b
let result = fn7(1, 2)
console.log(result);