js 参数arguments小记

最近小猫又抽风,不学css,看起了js。不过有学习了一项新的技能。

js中的arguments代表了参数组,当我们的参数不固定是可以使用这个求和神马的。

function sum(){
  var result=0;
  alert(arguments.length);
  for(var i=0;i<arguments.length;i++){
    result+=arguments[i];
  }
  return result;
};
window.onload=function(){
  alert(sum(1,2,3,4,5));
};

还有个小例子,根据参数的个数判断如果是两个就是读取当前对象的属性,如果是三个值就是设置当前对象的摸个属性。

function css(obj,name,value){
  if(arguments.length==2){
    return obj.style[name];
  }else{
    obj.style[name]=value;
  }
};
window.onload=function(){
  var oDiv=document.getElementById("div1");

  //读取当前oDiv的width
  alert(css(oDiv,"width"));

  //设置当前oDiv的背景为orange
  getStyle(css,"background","orange");
};

这是最简单的读取和操作行间样式的,如果是引用的样式可是不行的哦,所以下面就又有了小方法,来获取引用样式的值。

function getStyle(obj,name){
  if(obj.currentStyle){
    return obj.currentStyle[name];
  }else{
    return getComputedStyle(obj,false)[name];
  }
};

window.onload=function(){
  var oDiv=document.getElementById("div1");
  alert(getStyle(oDiv,"width"));
};

这个方法还处理一下兼容的问题,唯一不足之处目前只能获取单一的样式,比如说宽度,高度,如果想要获取背景颜色,必须指定backgroundColor。继续努力学习吧。

posted @ 2014-12-10 11:37  小猫爱吃糖  阅读(146)  评论(0编辑  收藏  举报