ES6箭头函数

箭头函数是JavaScriptES6中的一种新语法,其特点包括简化函数定义,this指向父作用域等。不能用于创建构造函数,没有arguments对象和prototype属性。文章通过示例展示了箭头函数的使用方式和this的特殊行为。
摘要由CSDN通过智能技术生成

箭头函数

箭头函数就是把function去掉,在小括号后面加=>

((a, b) => {
        console.log(a, b);
        console.log('我是箭头函数');
    })(1, 2)

    let demo = () => {
        console.log('我是箭头函数');
    }
    demo()

箭头函数的特点

1、如果有一个参数可以省略小括号
2、如果函数返回值只有一条语句,可以省略{}和return
3、箭头函数没有augrments内置对象
4、箭头函数不能用于创建构造函数
5、箭头函数没有prototype属性
6、call,apply可以调用箭头函数,但是不能改变this指向
7、箭头函数的this指向父作用域,(调用它的地方)

1、如果有一个参数可以省略小括号
let demo_1 = x => {
        console.log(x);
    }
    demo_1(1)
2、如果函数返回值只有一条语句,可以省略{}和return
let demo_2 = x => x
    console.log(demo_2(1));
3、箭头函数没有augrments内置对象
let demo_3 = () => {
        console.log(argumenys);
    }
    demo_3()

4、箭头函数不能用于创建构造函数
let Person = function () {
        console.log('1');
    }
    let p1 = new Person()
    console.log(p1);

    let Person_1 = () => {

    }
    let p2 = new Person_1()
    console.log(p2);//报错:rson_1 is not a constructor

5、箭头函数没有prototype属性
6、call,apply可以调用箭头函数,但是不能改变this指向

箭头函数的应用

箭头函数的this指向父作用域,(调用它的地方)
/*
      箭头函数的this指向父作用域,(调用它的地方) 
   */
    var obj = {
        say: () => {
            console.log(this);
            // console.log(this);
            // var demo = function () {
            //     console.log(this);
            // }
            var demo = () => {
                console.log(this);
            }
            demo()
        }
    }
    obj.say()

    var obj = {
        birth: 1990,
        getAge: function () {
            // new Date().getFullYear() 2023
            console.log(new Date().getFullYear() - this.birth);

        },
    }
    obj.getAge();

    var birth = 2000
    var obj = {
        birth: 1990,
        getAge: () => {
            var fn = () => {
                return new Date().getFullYear() - this.birth;
            };
            return fn();
        }
    };
    console.log(obj.getAge()); // 33
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值