箭头函数

// 箭头函数就是函数的另外一种写法.

    // 回顾之前函数的写法:
    // function fn() {}
    // fn();

    // let fn1 = function() {}
    // fn1();

    // (function(){})();


    // 箭头函数语法:
    // () => {}
    // 箭头函数的本质就是一个匿名函数   
    // function() {
    //     console.log(1234);
    // }
    // let fn = function() {}

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

箭头函数的使用注意事项

    // 1.由于箭头函数本质上就是一个匿名函数,所以一般会给箭头函数设置一个函数名
    // fn就是当前箭头函数的名字,将来可以通过该函数的名字调用箭头函数
    // let fn = () => {}

    // 2. 箭头函数也可以按照自调用函数的写法调用
    // (() => {console.log(123)})();
    // (function() {
    //     console.log(123);
    // })()

    // 3.  () => {} 在箭头函数中()就是用来设置函数的形参
    // 31. () => {} 在箭头函数中{}就是函数体
        // let fn =  (a, b) => {
        //     console.log(a,b);
        // }
        // fn(1, 2);


    // 4. () => {} 也可以设置返回值
    // let fn = () => {
    //     let a = 'abc';
    //     return a;
    // }
    // let res = fn();
    // console.log(res);   


    //5. 在箭头函数中,则()可以省略如果函数有且只有一个形参,不写
    // let fn = (a, b) => {
    //     console.log(a);
    // }
    // 简写为:
    // let fn = a => {
    //     console.log(a);
    // }
    // fn(1);


    // 6. 在箭头函数中,当函数中只有一行代码的时候,{}可以省略不写,return不写,返回值
    // let fn = (a, b) => {
    //     return a;
    // }

    // 简写为:
    // let fn = (a, b) => a;
    // let res = fn(1);
    // console.log(res);

    
    // 第一个a是形参
    // 第二个a是函数中的返回值
    // let fn = a => a; 
    // let res = fn('abcdddddd');
    // console.log(res); 

    

    //7. 箭头函数中的this指向 (很重要)
    // function fn() {
    //     // this指向的是window顶级对象
    //     console.log(this);
    // }
    // window.fn();
    //为甚指向的是window
    // 定义的普通函数本质上是给window这个对象上定义的一个函数
    // 在调用的时候, window.fn() 只不过window是一个顶级对象可以省略不写
    // console.log(window);


    
    //obj对象
    //eat方法中的this指向谁?方法的调用者
    // let obj = {
    //     eat: function() {
    //         console.log(this);
    //     }
    // }
    // obj.eat();



    //箭头函数中的this
    // let fn = () => {
    //     // this指向的是window
    //     console.log(this);
    // }
    // fn();


    // 方法中如果用箭头函数表示
    // 在箭头函数中不支持this的
    // 在箭头函数中this最后都指向了window
    // 总结:
    // 在方法中或者事件中不要使用箭头函数
    let obj = {
        userName: '张三',
        eat : () => {
            console.log(this);
        }
    }
    obj.eat();


    //写到最后: 箭头函数就是函数的另外一种写法而已.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值