para1
可以是传过来的任何对象或值,而操作只是在函数据如何使用.一样用.

解决方案 »

  1.   

    如果是对象,可以传id
    那么获取对象就是 document.getElementById('id')传name也可以
    document.getElementByName('name')[0]还有一种通用的办法是用eval
    object=eval('date1')   //假设存在一个名为date1的对象
    element=eval('document.all.' + 'p1')   //获取一个元素
    arr2=eval('arr1')  //获取数组,arr1为数组名,String类型
      

  2.   

    guoweidong(※『孤独~寂):
    你现在想要做什么?
    -----------------------------
    我想增加程序的通用性:
    比如我传递对象进入程序,在程序中对其操作.
      

  3.   

    <div id = 'div1'> div innerText </div>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
       function fun(para1){
    alert(para1.innerText);
       }
       setTimeout("fun(document.all.div1)", 1000);
    //-->
    </SCRIPT>
      

  4.   

    我的经验的是,如果para1,para2是对象,就用全局变量表示
    <script language="javascript">
         var para1;
         var para2;
       function g(){
     para1=document.getElementById('in1');
     para2=document.getElementById('in2');
         setTimeout("fun(para1,para2)",1000);
       }
       function fun(para1,para2){
         alert(para1.value+':'+para2.value);
       }
    </script><body>
    <input type="button" name="Submit" value="按钮" onclick="g();">
    <input type="text" id="in1" value="jjj">
    <input type="text" id="in2" value="kkk">
    </body>
      

  5.   

    判断一下参数的类型,然后根据类型做出不同的处理, 从而实现通用:   function fun(para1){
          switch(typeof(para1)){
      case 'object': alert('parameter is object');break;
      case 'string': alert('parameter is string');break;
      case 'string': alert('parameter is function');break;
      ....
      }
       }
      

  6.   

    <SCRIPT LANGUAGE="JavaScript">
    <!--
       function fun(para1){
          switch(typeof(para1)){
      case 'object': alert('parameter is object');break;
      case 'string': alert('parameter is string');break;
      case 'function': alert('parameter is function');break;
      case 'number': alert('parameter is number');break;
      case 'boolean': alert('parameter is boolean');break;
      case 'undefined': alert('parameter is undefined');break;
      }
       }  setTimeout('fun("abc")', 100);  var o = new Object();
      setTimeout('fun(o)', 100);  function t() {};
      setTimeout('fun(t)', 100);
    //-->
    </SCRIPT>
      

  7.   

    谢谢各位:
    我又测试了一下,如果参数是对象,直接传就可以;参数为数组时还请大家继续帮忙;<script>
      function fun(objPrar){
         //Other codes;
         setTimeout("fun(objPara)",1000);
      }
    </script>
      

  8.   

    我的程序代码如下:
    <img src="img0.gif" onload="imgChange(this,1)"><script language="javascript">
      function imgChange(obj,n){
        var num=5;
        obj.src="img"+n+".gif";
        n=(n<num)?(++n):(n % num);
        setTimeout("imgChange(obj,n)",1000);  //每一分钟更换一幅图片,
                                              //但此处的obj不用全局变量传不进去.
      }
    </script>
      

  9.   

    <img id = 'img1' src="img0.gif" ><script language="javascript">
      var o;
      var n;
      var num=5;
      function imgChange(obj,nn){
    o = obj;
    n = nn;
    o.alt = "img"+n+".gif";
        n=(n<num)?(++n):(n % num);
        setTimeout("imgChange(o,n)",1000);  
      }  imgChange(document.all.img1, 1)
    </script>我也不知道为什么上面的代码可以