function a( function a(){return 1;})
是不是这样呀,这样在java里面是可以的

解决方案 »

  1.   

    function a( function as(){return 1;})
    {return  value;}
    是不是这样呀,这样在java里面是可以的
      

  2.   

    <SCRIPT language="javascript">
    function fun2(funName)
    {
    return eval(funName + "()");
    }function fun1()
    {
    return "hello";
    }function test()
    {
    alert(fun2("fun1"));
    }
    </SCRIPT>
    <BODY>
    <INPUT type="button" value="test" onClick="test()">
    </BODY>
      

  3.   

    统一楼上 ,eval这个东西很好
      

  4.   

    通过函数指针,直接就可以传递function handler
    <SCRIPT language="javascript">
    function fun2(funName)
    {
    return funName();
    }function fun1()
    {
    return "hello";
    }function test()
    {
    alert(fun2(fun1));
    }
    </SCRIPT>
      

  5.   

    各位的解答好象不是我需要的,我再把代码贴出来,希望给个思路:
    <HTML><HEAD>
    <script language="javascript">
    function fun2(thebody){
    /* 
    //只要能执行返回下面的变量parafun的值也行,我想建一个存放动态函数的容器<div id='contain'>
    //然后执行该函数,可是不行。 注:不是脚本类型的原因
    var parafun = "<script language='vbscript'>\n"
    parafun += "Dim v(3)\n v(0) = 2\n v(1) = 5\n v(2) = 4\n"
    parafun += "Function getPrice()\n"
    parafun += " IF v(1)<=0 THEN\n"
    parafun += " Err.Raise 65534,\"ERP\", \"请输入立柱长度\" \n"
    parafun += " END IF \n"
    parafun += " Price=155+(v(1)-1.2)*200/12\n"
    parafun += "End Function\n";
    parafun += "<"+"/script> "
    document.all.contain.innerHTML = parafun;
    alert(parafun)
    window.execScript("getPrice()","vbscript");
    */
    }
    </script>
    </HEAD><BODY>
    <div id='contain'></div>
    <%
    '这是我真正需要传递的函数体,是从数据库中取出的物料的计算公式,而且每个物料的计算公式都可能不同,所以函数体是动态的
    funbody = "Function getPrice(v) IF v(1)<=0 THEN Err.Raise 65534,""ERP"", ""请输入立柱长度"" END IF getPrice=155+(v(1)-1.2)*200/12 End Function"
    %>
    <input type=button value="函数体作为参数" onclick="fun2(<%=funbody%>)">
    </BODY></HTML>我发现有些高手好象看过我的问题了,请多多帮忙,万分感谢了,这个问题能解决我想是可以处理很多实际问题,即把一些业务规则用脚本定义在表字段中,这样操作起来会很方便
      

  6.   

    你的fun2(<%=funbody%>) => fun2("<%=funbody%>")try:
    function fun2(fn){
    execScript(fn,"vbscript");
    }
      

  7.   

    算是得到结果了,只是把函数体的一部分直接执行,这样我需要进行字符串的处理了,解决方法如下:
    function fun2(){
    var theprice=0
    //var parafun = "<script language='vbscript'>\n"
    //var parafun = "Function getPrice() "
    var parafun = "";
    parafun += "Dim v(3) \n"
    parafun += " v(0)=-2 \n"
    parafun += " v(1)=-2 \n"
    parafun += " v(2)=3 \n"
    parafun += " IF v(1)<=0 THEN\n "
    parafun += " msgbox(\"请输入立柱长度\") \n"
    parafun += " END IF \n"
    parafun += " theprice=155+(v(1)-1.2)*200/12 \n"
    //parafun += "End Function ";
    //parafun += "<"+"/script> "
    execScript(parafun,"vbscript");
    alert(theprice)
    }
    </script><BODY>
    <input type=button value="clickme" onclick="fun2()">