arguments可变参(不定参)实例应用。

arguments是一个数组,存的是一些参数。

在Jquery中有一个css()函数,css(oDiv 'width')为获取元素的宽;css(oDiv 'width' '200px')为设置宽度为200px。下面用javascript的arguments来实现这个功能。

 1 function css(){
 2 
 3   if(arguments.length==2){ //如果数组的长度是2就是获取样式
 4 
 5     return arguments[0].style[argements[1]]; //返回arguments数组的元素的属性值 css(oDiv 'width')oDiv是第一个不定参,所以用 arguments[0]表示;width第二个不定参,用arguments[1]表示
 6   }
 7 
 8   else{
 9 
10     return arguments[0].style[argements[1]]=arguments[2];  //设置样式 css(oDiv 'width' '200px') oDiv是第一个不定参,所以用 arguments[0]表示;width第二个不定参,用arguments[1]表示;200px是第三个不定参,所以用 arguments[2]表示
11   }
12 
13 };

由于用arguments[0]  arguments[1]  arguments[2]来表示数组里面的不定参会比较容易混乱,所以可以把这三个不定参设个名字(形参),用名字把arguments[0]  arguments[1]  arguments[2]替代掉,最后通过实参把值传过去。现把代码优化如下:

 1 function css(obj,name,value){ 
 2    if(arguments.length==2){
 3  
 4      return obj.style[name]; 
 5    }
 6    else{
 7  
 8      return obj.style[name]=value;
 9   }
10  };

最调用css(oDiv,'width','500px');

原文地址:https://www.cnblogs.com/52css/p/2936923.html