上一篇文章中应该较为清楚的解释了关于this指向的问题;这篇文章中我们来说一下构造函数中的this
我们来看下面的例子:
function Fun(){ this.userName = "lzh"; } var a = new Fun(); console.log(a.userName); //lzh
在这里对象a可以“.”出函数Fun里面的userName是因为关键字 new 可以改变this的指向 ,将这个this指向对象a,
这里要清楚的是:使用了关键字new,就是创建了一个对象实例。在这段代码里我们用变量a创建了一个Fun的实例,相当于将Fun复制了一份到a里,此时仅是创建,并没有执行,但是调用这个Fun函数的是变量a,那么this的指向自然就是a;前面已经说了是相当于复制了衣一份Fun到变量a中,所以a中也会有userName。
自行改变this的指向轻参考文章:JavaScript中call,apply,bind的使用方法