箭头函数的特点

参数只有一个时可以省略小括号

let demo = a => {
	console.log(a)
}
demo(2)//2

return后面只有一条语句时,可以省略return和{}

let demo1 = (a, b) => a
console.log(demo(1));//1 undefined

箭头函数没有arguments内置对象

let demo3 = function () {
	console.log(arguments)
}
demo3()//Arguments [callee: ƒ, Symbol(Symbol.iterator): ƒ]

// let demo4 = () => {
//     console.log(arguments)
// }
// demo4()// arguments is not defined

箭头函数不能写构造函数

let Person = function () {}
let p1 = new Person()
console.log(p1);//Person {}
let Person1 = () => {}
// let p1 = new Person();
// console.log(p1)//Person is not a constructor

箭头函数没有prototype属性

    console.log(Person.prototype);//{constructor: ƒ}
    console.log(Person1.prototype);//undefined

call和apply能调用箭头函数,但是不能改变this的指向

    var obj = {
        name: 'ming',
    }
    let demo5 = function () {
        console.log(this);
    }
    demo5()//window
    demo5.apply(obj);//ming

    let demo6 = () => {
        console.log(this)
    }
    demo6()//window
    demo6.apply(obj);//window

箭头函数的this指向父作用域

    var obj1 = {
        getName: () => {
            console.log(this);
            let demo7 = () => {
                console.log(this)
            }
            demo7()
        }
    }
    obj1.getName()//window
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值