但构造函数返回对象时

范例:

function C (){
  this.a = 1;
  return {
    b : 2
  };
}

var c = new C();
alert(c.a); //undefined

当构造函数使用return返回对象时,使用new操作符产生的对象并不是一个包含属性a的对象,而是return回来的对象。

这种情况只发生在构造函数返回对象时,如果使用reuturn返回的是其它非对象类型的值,将会正常返回包含属性a的对象。

 

 

posted @ 2013-11-10 17:31  charling  阅读(193)  评论(0编辑  收藏  举报