函数

【定义】
可以实现一定的功能(封装)
函数是一等公民(字面量声明)

【创建函数的方式】

1、字面量创建

function 函数名(){
函数体;
}

2、函数表达式/匿名函数表达式

let 函数名 = function(){
函数体;
}

3、构造函数

let 函数名 = new Function();

【函数的调用】
函数名();

【参数】
实参:函数调用时的参数

形参:声明函数时的参数

不定参数:(形参比实参多,获取多的参数)
使用扩展运算符接收,只能写在最后一个形参上
注:
1、相同形参,取后面的值

  2、类数组(arguments)
  不是数组,没有push方法
  获取当前函数的所有实参

【随机数】
Math.random 会随机生成一个0-1之间的数(不会取到1)

【默认值】
若形参没有具体的实参,可以给形参添加默认值(默认值参数尽量放在后面)
书写格式:
function 函数名(形参 = 默认值){
代码块;
}
调用: 函数名();

函数名.length 获取默认值参数之前的形参个数(不包含不定参数)

【箭头函数】
书写格式:
1、函数名 => 函数体(如果只有一条不需要加大括号,可以省略function)

2、(形参1,形参2,…) => 函数体(如果只有一条不需要加大括号,这是一条返回语句,不需要加return)

3、形参(形参只有一个不需要写小括号) => 函数体

【回调函数】
把一个函数A当作参数传给另一个函数B使用
案例1、
排序
sort.((a,b) => a - b);

案例2、
数组名.every(参数=>条件)
功能:如果数组中的每一个值都满足条件,返回true,有一个不满足就返回false

案例3、
数组名.some(参数=>条件)
功能:如果数组中的有一个值满足条件,返回true,所有都不满足就返回false

案例4、
筛选/过滤
数组名.fliter(参数=>条件)
功能:返回满足条件的值

案例5、
数组名.map(参数=>条件)
功能:返回一个新数组,数组里的内容是原数组的每个值是否满足条件

案例6、
数组名.forEach(参数 => 条件)
功能:对数组中的每个值进行操作(没有返回值,即返回undefined)

map和forEach的区别
map有返回值
forEach没有返回值

【立即执行函数(IIFE)】
创建即调用,调用后即销毁

优点:释放资源
(function f68(){
console.log(“zhaolan”);

})();

(function f68(){
console.log(“zhaolan”);

}());

【变量提升、函数提升】 标识符可以先使用后声明(即不会报错)
变量提升:只提升变量的声明(仅限var声明的变量,不包含函数里var声明的变量)

函数提升:只提升字面量声明的函数,提升整个函数体

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值