js函数总结

函数

即把可以实现一定功能的代码,封装成一个函数。
函数声明不带表调用,什么时候用,执行函数体。
声明函数
字面量声明
书写格式: 关键字 标识符(函数名) 小括号 {代码块}
Function f70 ( ) {代码块}

调用函数 (执行函数体)
书写格式:
函数名 小括号:
function serach() {
console.log(n);
}
serach ();//n

构造函数声明
书写格式: 关键字 标识符 赋值符号 new Function( );
let f70 = new Function( );

// 匿名函数表达式

let f70 = function () {
console.log(“1234”);
}
f70();//1234

函数三要素

  • 1、函数名
  • 2、返回值(函数100%有返回值)
  • 若写了,则返回return后的内容。
  • 若没写return则返回undefined
  • 注:return具备终止函数的功能。
  • 若需要返回多个值,需要return后面的内容是引用数据类型。
    function serach() {
    let i = 1;
    let j = 2;
    console.log(您当前余额为:1000);
    let num1 = i + j;
    let num2 = i - j;
    return [num1, num2];
    console.log(123);
    }
    let i = serach();
    console.log(i);//您当前余额为:1000 [ 3, -1 ]

【参数】
//可以在函数的()中指定一个或多个形参,
//多个形参之间用逗号隔开,声明形参就相当于在函数内部声明了对应的变量,并不赋值。
function f70(a,b){
console.log(a+b);
}
f70 (1,2);//3
//在调用函数的时候可以在()里指定实参,实参将赋值于形参。

  • 1、形参(形式参数)
  • 在函数声明的时候
  • 2、实参(实际参数)
  • 在调用函数的时候
  • 形参的个数比实参多,多的形参数为undefined
  • 实参的个数比形参多,多的实参数不会使用。

不定参数 …形参。
注:1,接受多的实参内容(以数组形式)
2,只能写在最后一个形参位置(其他位置。会报错)
function f70 (a,b,…c) {
console.log(a,b,c);
}
f70(1,2,3,4,5,6)//1 2 [ 3, 4, 5, 6 ]

函数名.lenth 返回函数的形参个数
注:1,不计数“不定参数”即…形参
2、只计算默认值之前的形参个数。
function f70 (a=1,b,c,d) {
console.log(a,b,c);
console.log(f70.length);//0
}
f70(1,2,3,4,5,6);

箭头函数
1.省略function关键字。
2.如果只有一个参数,可以省略小括号
3.如果函数体只有一条语句,可以省略大括号。
4.如果函数体只有一条语句,并且需要返回这条语句的结果。
则可以省略return关键字
5.不可以使用arguments
6.不会把自己的this绑定到函数上
7.不可以用作构造函数。
function f70 (a) {
console.log(a);//2
}
f70(2);
可以写成:
let f70 = a => console.log(a);//1
f70(1);

let f72 = a => a+1
let f73 = f72(100);
console.log(f73);//101

回调函数
当一个函数b,提供给函数a当参数,则b就是回调函数
如下所示:
function a(temp){
console.log(f70);
temp();
}
function b(){
console.log(f71);
}
a(b);//f70 f71

箭头函数的使用场景:
let f70 = [2,1,4,3,5,7,6,8];
//数组排序
//升序
let arr1 = f70.sort((a,b) => a - b)
console.log(arr1);//1,2,3,4,5,6,7,8
//降序
let arr2 = f70.sort((a,b) => b - a)
console.log(arr2);//1,2,3,4,5,6,7,8

数组的方法

//数组的方法every
//判断数组中的每个值,是不是都满足需求。
let f70 = [2,1,4,3,5,7,6,8];
let state = f70.every(a => a>1);
console.log(state);//false
//数组的方法some
//判断数组中的每个值,是不是都满足需求。
//注:只要有一个满足,就返回true.都不满足才会返回false
let f70 = [2,1,4,3,5,7,6,8];
let state1 = f70.some(a => a>2);
console.log(state1);//true

//filter过滤
//返回满足条件的值
let f70 = [2,1,4,3,5,7,6,8];
let state2 = f70.filter(a => a%2==0);
console.log(state2);//[ 8, 6, 4, 2 ]
console.log(f70);

//数组的方法map
// //遍历出数组中的每个值。
//执行箭头函数的需求,把最终的结果,以新数组的方式返回。
//注:都不会改变原数组
let f70 = [2,1,4,3,5,7,6,8];
let state3 = f70.map(a => a%2==0);
console.log(state3);//true, false,true, false,false, false,true, true
let state4 = f70.map(a =>a-1);
console.log(state4);//1, 0, 3, 2,4, 6, 5, 7

//数组的方法forEach
// 遍历出数组中的每个值。
//执行箭头函数的操作,无返回。
//注:都不会改变原数组
let f70 = [2,1,4,3,5,7,6,8];
state = f70.forEach(a => a-1 )
console.log(state);//undefined
f70.forEach(a=>{console.log(a-1);})//1, 0, 3, 2,4, 6, 5, 7

立即执行函数

//立即执行函数
//创建即调用,调用即销毁
//使用场景:关于一次性变量(时间)
(function f74() {
console.log(“f74”);
})();//f74

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值