zoukankan      html  css  js  c++  java
  • 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.onload=function(){
      var obtn = document.getElementById('btn1');
      var odiv = document.getElementById('div1');

      obtn.onclick=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;
      }
    }


    作者:狂流
    出处:http://www.cnblogs.com/kuangliu/
    欢迎转载,分享快乐! 如果觉得这篇文章对你有用,请抖抖小手,推荐一下!

  • 相关阅读:
    题解 [CF891C] Envy
    题解 [BZOJ4710] 分特产
    题解 [BZOJ2159] Crash的文明世界
    题解 [BZOJ4144] Petrol
    #leetcode刷题之路1-两数之和
    week 7 文件操作与模板
    coursera 北京大学 程序设计与算法 专项课程 STL week8 list
    coursera 北京大学 程序设计与算法 专项课程 完美覆盖
    JSTL标签库不起作用的解决方案 .(转)
    javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext解决办法(转)
  • 原文地址:https://www.cnblogs.com/kuangliu/p/3473802.html
Copyright © 2011-2022 走看看