ES6新特性之箭头函数

箭头函数以及声明特点

ES6允许使用箭头(=>)定义函数

声明一个函数

// let fn = function() {
//     
// }

// ES6
let fn = (a, b) => {
    return a + b
}
  1. this是静态的,this始终指向函数声明时所在作用域下的this值(继承上一层自定义函数的this,若无上层自定义函数,则为window)

    window.name = "小猪"
    
    let fn = function() {
        console.log(this.name)
    }
    
    let fn2 = () =>{
        console.log(this.name)
    }
    
    let person = {
        name: "张三"
    }
    
    fn()	// 小猪
    fn2()	// 小猪
    
    fn.call(person)	// 张三
    fn2.call(person)	// 小猪
    
  2. 不能作为构造函数实例化对象

    let Person = (name, age) => {
        this.name = name;
        this.age = age;
    }
    let me = new Person("周杰伦", 22)
    console.log(me)	// 报错
    
  3. 不能使用arguments变量

    let fn = () => {
        console.log(arguments)
    }
    fn(1, 2, 3)	// 报错
    
  4. 箭头函数的简写

    // 当形参有切只有一个时,可省略()
    let add = n => {
        return n + n
    }
    
    // 当代码题只有一条语句时,可省略{}
    let pow = n => n * n
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值