日期:2014-05-16  浏览次数:20371 次

对象的问题
function aaa(){
  var c= 2;
  // return 'adsf';
  return Object();
  }
  bb = new aaa();
  console.log(typeof bb)
  console.log(bb instanceof aaa)
  console.log(bb);

aaa返回一个非Object类型的时候bb是aaa的实例,aaa返回一个Oject类型的时候bb是返回的类型的实例,这个是为什么?


------解决方案--------------------
Object是最根上的类,所以肯定不可能是它派生出来的类型实例了啊....再说没有你这样写的啊,你见过java或者.net里面 new一个实例的时候 还返回一个东东么.... 如果把function当做类的话就别返回东西了.
------解决方案--------------------
灵活吧,不过一般没有这么弄得,一个构造函数返回一个值,不过如果构造函数真的有返回值,则将返回值作为new的结果。而不是构造函数中的this。