js基础之arguments、css

arguments就是一个包含传入的参数的数组对象

栗子一:

function sum(){
  var result=0;
  for(var i=0;i<arguments.length;i++){
    result += arguments[i];
  }return result;
}

alert(sum(1,2,3,4,5));

css函数

原代码:

function css(){
  if(arguments.length==2){//获取
    //return arguments[0].style[arguments[1]];//undefined因为style只能取行间样式
    //return arguments[0].currentStyle.arguments[1];
      if(arguments[0].currentStyle){//做兼容性判断:判断特性比判断浏览器版本更高效
      //IE
        return arguments[0].currentStyle[arguments[1]];//currentStyle为计算后的样式或默认值(如font-size)
    } else {
      //ff/chrome
        return getComputedStyle(arguments[0])[arguments[1]];//getComputedStyle为计算后的样式或默认值(如font-size)

    }
  }else if(arguments.length==3){//设置
      arguments[0].style[arguments[1]]=value;
  }
}
window.οnlοad=function(){
  var obtn = document.getElementById('btn1');
  var odiv = document.getElementById('div1');

  obtn.οnclick=function(){
    css(odiv,'background','#999');
    alert(css(odiv,'width'));
  }
}

 

增强可读性后的代码:

function css(obj,attr,value){
  if(arguments.length==2){//获取
    //return arguments[0].style[arguments[1]];//undefined因为style只能取行间样式
    //return arguments[0].currentStyle.arguments[1];
    if(obj.currentStyle){//做兼容性判断:判断特性比判断浏览器版本更高效
      //IE
      return obj.currentStyle[attr];//currentStyle为计算后的样式或默认值(如font-size)
    } else {
      //ff/chrome
      return getComputedStyle(obj)[attr];//getComputedStyle为计算后的样式或默认值(如font-size)

    }
  }else if(arguments.length==3){//设置
    obj.style[attr]=value;
  }
}

转载于:https://www.cnblogs.com/kuangliu/p/3473802.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值