function caller(){
this.length=1;
this.getLength=function(){
return this.length;
}
return this;
}var c = new caller(); //????请教下上面new语句的意思:
理解1:先执行caller()函数,执行完成后返回个this对象(此时返回的this到底是啥?caller的一个实例?caller自身?),返回this对象是一个构造器,使用new去实例化这个构造器类
理解2:直接将caller作为构造器,使用new去创建caller的一个实例。
理解3:其他。请达人解释下,困惑了许久!!
看下这篇
http://dbear.iteye.com/blog/613745
否者 就 将创建的 匿名的 一个object传出来 这个object 就是 在new后 this 指向的对象所以 里面 return this 和 没有这个 句子 结果是一样的
new function a (){} ==>var o = {};return a.apply(o) || o ;
问了几个人好像都是这个意思,有return this;和没return this;是一样的效果!
多谢了!