test函数的参数是一个长度未知的数组,在这个函数中想给很多参数赋值,想给这些参数取名为temp1,temp2,temp3…… 因此变量名也成了变量,不知该怎么做?js中的变量作用域真的很可怕啊...
 
function test(arr){
  for(i=0;i<arr.length;i++){
      var temp = arr[i];
  }
}
 

解决方案 »

  1.   

    给你一个偶写的给对象的prototype赋值的函数
    function SetPrototype(ob,ProOb){
    var p=ob.prototype;
    for(var v in ProOb){
    p[v]=ProOb[v];
    }
    }
    在这里ProOb是个不确定长度的参数,偶用json形式传递参数
    调用的时候就是这样的
    SetPrototype(CObject,width:71,height:71,SunNum:100,beAttackedPointL:20,beAttackedPointR:51})当参数不确定个数的时候
    可以通过数组啊对象啊之类的方式传递和赋值
      

  2.   

    上面的一个括号删错了
    应该是
    SetPrototype(CObject,{width:71,height:71,SunNum:100,beAttackedPointL:20,beAttackedPointR:51})
      

  3.   

    function test(arr){
      for(i=0;i<arr.length;i++){            
          eval("var temp"+i+" = arr[i]");
      }
    }