<script>var test=new Function("cs1","cs2","alert(cs1+cs2)");test(1,2);</script>
Function前面加new不懂

解决方案 »

  1.   

    参考:http://www.w3school.com.cn/js/pro_js_functions_function_object.asp有点迷糊的话可以从基础章节开始:
    http://www.w3school.com.cn/js/pro_js_object_oriented.asp
      

  2.   

    new代表新建一个对象实例,在这里就表示新建一个Function对象实例。
    其实这里new可以省略吧?
    至于Function对象是什么,看楼上的文章。
      

  3.   

    var myStringPrimitive="123";//隐式的创建string对象在你赋值"123"的时候,相当于告诉了JS引擎你要让myStringPrimitive的类型是string类型var myStringObject=new String ("123");//显式的创建string对象<script>var test=new Function("cs1","cs2","alert(cs1+cs2)");//显式创建test(1,2);function test(cs1,cs2)// 隐式创建
    {
    alert(cs1+cs2);
    }
    test(2,3);</script>
      

  4.   

    function test(cs1,cs2){
        alert(cs1+cs2);
    }
    其实你定义一个函数和new Function是一样的,构造函数中除了最后一个参数外的其它参数都是形参。
      

  5.   

    Function是可以用来取代eval进行动态生成函数的,对作用域的影响较小,但是一般是不需要的,你用了绝大多数情况是你没有搞懂javascript的数组对象的本质或者你的需求。