var f1 = new function()
  {
   return "function1" ;
  }
var f2 = function()
{
  return "function2" ;}
alert(typeof f1);//提示 object
alert(typeof f2);//提示 function为啥提示不一样呢?求高人讲解

解决方案 »

  1.   

    new本来的作用就是创建一个新对象。
      

  2.   

    第一个是定义一个函数然后对其实例化 将实例化后的对象赋值给f1
    第二个其实就是定义了一个函数然后赋值给f2
    看看下面的例子 var f1 = new function() {
    alert(this);//定义f1时就已执行 此时this指向该对象
    };
    var f2 = function(){
      alert(this);//执行f2();时才执行 this仍指向window
    };
    f2();
      

  3.   

    还有一点
    在用构造函数实例化的时候(即new 一个对象),构造函数中的return如果返回的不是object类型,会被替换成object(这里是这个新实例化的object,即构造函数里的this)