浅谈js中的this

js中,this自动引用正在调用的当前方法 . 前的对象。简而言之,this就是指向当前对象。举例说明:

1. obj.fun()中如果出现this.那么,this就是指向obj

2. new Fun()中,new运算符会将this指向正在创建的新对象

3.  匿名函数自调中,this直接指向window,不过严格模式下,this指undefined

4. 原型对象中,obj.prototype.fun中的this,值将来调用fun的.前的子对象

虽然这几条规则很简单,但很实用,也是个人在摸爬滚打中总结出来的。

 

不过经常会遇到this并非自己想要的情况,可以用call, apply, bind替换this

最为常见的就是涉及到两种对象间继承的时候,如果一个构造函数中,想借用另一个构造函数,不能直接用this调用,而要用call来替换原先的this 

posted @ 2018-01-22 19:04  与子为期  阅读(166)  评论(0)    收藏  举报