1.this的指向问题
- 在es5中,this的指向是非常混乱的,
1:在方法中,this指向调用者
2:没有调用者时,this指向window
3:构造函数中,指向创建出来的实例本身 - 改变this指向的方法
强制改变this指向 call apply bind
call方法 语法 call(this的指向,function的参数)
apply方法 语法 apply(this的指向,[function的参数])
bind本身不会去执行要改变this指向的这个方法,而是返回一个已经被改变了this指向的新方法
2.箭头函数
- es6中的箭头函数,就是为了解决 es5 中this指向混乱的问题的
- 箭头函数没有this,它的this来自上下文的父级,并且指向上下文的父级
- 箭头函数的this指向不会发生改变,声明时便永久的确定了
- 箭头函数是匿名函数,不能作为构造函数,不能使用new
- 箭头函数没有arguments,可以使用展开运算符进行解决“…”
- 箭头函数不能通过call,apply,bind方法直接修改它的this指向
- 箭头函数没有原型属性