函数的进阶(es6)

一.函数提升

1.会把所有函数声明提升到当前作用域的最前面

2.只提升函数声明,不提升函数调用

 fn();
        function fn(){
            console.log("函数提升");
        }
fun();//报错
        var fun=function() {
            console.log("函数表达式");
            
        }

函数表达式必须先声明和赋值  后调用 否则报错

总结:

1.函数提升能够使函数的声明调用更灵活

2.函数表达式不存在提升的现象

3.函数提升出现在相同作用域当中

二.函数参数

1.arguments 动态参数 只存在函数里面  是伪数组

  let sum = 0;
            for (let i = 0; i < arguments.length; i++) {
                sum += arguments[i];
            }
            return sum;
        }
        let s = getSum(1, 2, 3);
        console.log(s);

2. 剩余参数

剩余参数允许我们将一个不定数量的参数表示为一个数组

1....是语法符号。置于最末函数形参之前,用于获取多余的实参

 2.借助...获取的剩余实参,是个真数组

        开发中,还是提倡多使用剩余参数。

function getSum(...arr) {
            // console.log(arr);//使用时不需要写...
            let sum = 0;
            for (let i = 0; i < arr.length; i++) {
                sum += arr[i]
            }
            console.log(sum);
        }
        getSum(1, 2);
        getSum(1, 2, 3);

三.展开运算符

展开运算符(...)将一个数组进行展开

const arr=[1,5,3,8,2];
// 展开运算符 可以展开数组
console.log(...arr);//1 5 3 8 2

 典型运用场景:求数组最大值(最小值)、合并数组等


const arr=[1,5,3,8,2];

// 1.求数组最大值
console.log(Math.max(...arr));//8
console.log(Math.min(...arr));//1
const arr=[1,5,3,8,2];
// 2.合并数组
const arr2=[4.5,7];
const arr1=[...arr,...arr2];
console.log(arr1);//[1,5,3,8,2,4,5,7]

注意:

剩余参数:函数参数使用,得到真数组

展开运算符:数组中使用,数组展开

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值