箭头函数和普通函数的区别

1.js中的this指向

     在ES5中,如果想要知道this指向谁,就要看当前的这个函数是在哪里调用的

        1. 在事件中调用,this就是当前触发事件的元素

        2. 在对象中调用,this就是当前对象

        3. 在全局调用,this就是window

        4. 在面向对象中,this就是当前用new关键字创建出来的对象

2. 箭头函数中的this指向

   1. 在ES6的箭头函数中,要看定义这个箭头函数的父级作用域是谁,this就是谁

   2. 如果用call、apply、bind调用函数,这三个函数的第一个参数就是this指向

3. 箭头函数与普通函数的区别

   1. 箭头函数是匿名函数 不能作为构造函数使用 不能使用new关键字
   2. 箭头函数没有原型属性
   3. 箭头函数的this永远指向父级上下文
   4. 箭头函数不能使用call apply bind 修改this的指向,但可以正常传参
   5. 箭头函数没有argments属性 可以用展开运算符来解决

上一篇:apply和call方法的使用


下一篇:python中的 __call__()