通过把函数的参数以及函数主体传递给构造函数Function()来定义这样的函数。例如
    var square = new Function("x","return x*x;");
    变量square保存了对函数对象的一个引用,但实际上它并不是函数名.(这句怎么也看不懂呀,
    什么叫函数对象的一个引用?怎么个引用法? 既然square不是函数名,那他就是一个引用?
   看来还是对函数对象的引用理解的不好)   对构造函数Function()的调用也不是真正的函数直接量。(这句如何理解?为啥这里用‘也’?
   那以前的不是是什么?函数直接量 var square = function(x) {return x*x;} 确实和它有区别,
   但上面谈到的这些越说越迷糊了,觉得好抽象。网上搜了好多资料也还是看不懂)
   
   <script>
    function square(x) {
    return x*x;
    }
    alert(square(4));  //这就很正常的显示结果了
   </script>    <script>
     var square = function(x) { 
     return x*x;
     }
    alert(square(4)); //这显示很正常
    </script>     <script>
   var square=new Function{"x","return x*x;"}; //假如想用构造函数Function,想实践下
    alert(square(4));                     //但这为啥什么不显示?
   </script>
   请大家帮看看,谢谢了

解决方案 »

  1.   

    学习  我只知道js里 函数是Function类的对象 别的不知道啦。。 学习学习
      

  2.   

    那"{"换成"("就可以了<script>
       var square=new Function{"x","return x*x;"}; //假如想用构造函数Function,想实践下
        alert(square(4));                     //但这为啥什么不显示?
       </script><script>
       
    改成
     var square=new Function("x","return x*x;"); 
        alert(square(4));     //正常了                
       </script>
      

  3.   

    呵呵,不好意思,看书都看错了。谢谢大家还有这两段话如何理解?
    通过把函数的参数以及函数主体传递给构造函数Function()来定义这样的函数。例如
    var square = new Function("x","return x*x;");
    变量square保存了对函数对象的一个引用,但实际上它并不是函数名.(这句怎么也看不懂呀,
    什么叫函数对象的一个引用?怎么个引用法? 既然square不是函数名,那他就是一个引用?
    看来还是对函数对象的引用理解的不好)对构造函数Function()的调用也不是真正的函数直接量。(这句如何理解?为啥这里用‘也’?
    那以前的不是是什么?函数直接量 var square = function(x) {return x*x;} 确实和它有区别,
    但上面谈到的这些越说越迷糊了,觉得好抽象。网上搜了好多资料也还是看不懂)