箭头 函数

es6中新增的定义函数的方式。

()  =>   {     }

const   fn   =   (   )   =>   {     }

箭头函数是用来简化函数定义的语法

const fn = ( ) => { 
            console.log(123);
        }
        fn()    //123

函数体中的一句代码,且代码执行结果就是返回值,可以省略大括号

常见写法:
function sum (num1 , num2){
    return num1 + num2;
}


简写:
const sum = (num1,num2) => num1 + num2
const summ = ( n1 , n2 ) => n1 + n2 ;
const result = summ (10,20);
console.log(result);  //30

如果形参只有一个,可以省略小括号

const fn1 = (v) => v;

const fn = v => {
    alert(v);
}
fn(45)

箭头函数不绑定this的关键字,箭头函数中的this ,指向的是函数定义位置的上下文this。

const  obj = {name:'丽丽' }
function fn(){
    console.log(this);
    return () => {
        console.log(this);
    }
} 
const resFn = fn.call(obj);
resFn();

箭头函数不绑定this 箭头函数没有自己的this 关键字,如果在箭头函数中使用this,this关键字将指向箭头函数定义位置中的this


function fn () {
    console.log(this);
    return () => {
        console.log(this);
    }
}
const obj = {name:'喝喝'};
const resFn = fn.call(obj)
resFn();

箭头函数面试题:

var  age = 100
var obj = {
    age :20,
    say:() => {
        alert(this.age)    //这里是this是没定义
    }
}
obj.say();  //100

剩余参数

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

function sum (first,...args){
    console.log(first) ;  //10
    console.log(args) ;   //[20,30]
}
sum(10,20,30)
// args 是个数组会获取所有的
// 计算所有数的和

    const sum = (...args) =>{
        let total = 0;
        args.forEach( item => {
          total += item;
        })
        return total;
    };




//上面的代码可以简化成

    const sum = (...args) => {
        let total = 0;
        args.forEach(item => total += item);
        return total;
    }



//打印一下
    console.log(sum(10, 20));          // 30
    console.log(sum(10, 20, 30));      // 60

剩余参数和解构配合使用

案例一:

let students = ['小明','小浪','小扎'];
let [s1,...s2] = students;
console.log(s1); //'小明'
console.log(s2); //'小浪','小扎'

案例二:

let ary1 = ['小','中','大'];
let [s1,...s2] = ary1;
console.log(s2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值