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;
  }
}

js基础之arguments、css的更多相关文章

  1. JS基础语法---arguments对象伪数组

    引入: //计算两个数字的和 function f1(x, y) { return x + y; } //计算三个数字的和 function f2(x, y, z) { return x + y + ...

  2. 前端工程师面试问题归纳(一、问答类html/css/js基础)

    一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...

  3. js基础篇——call/apply、arguments、undefined/null

    a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...

  4. HTML+CSS+JS基础知识

    HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...

  5. js基础进阶--关于Array.prototype.slice.call(arguments) 的思考

    欢迎访问我的个人博客:http://www.xiaolongwu.cn Array.prototype.slice.call(arguments)的作用为:强制转化arguments为数组格式,一般出 ...

  6. js基础之javascript的存在形式和js代码块在页面中的存放位置和 CSS 对比

    1.存在形式 文件 如: <script src='js/jc.js'></script> 前页面 <script type='text/javascript'>a ...

  7. 前端面试题目汇总摘录(JS 基础篇)

    JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...

  8. 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.02更新)

    温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string type ...

  9. 前端05 /js基础

    前端05 /js基础 昨日内容回顾 css选择器的优先级 行内(1000) > id(100) > 类(10) > 标签(1) > 继承(0) 颜色 rgb(255,255,2 ...

随机推荐

  1. random使用

    package com.cz.test; import java.util.Random; public class RandomTest { public static void main(Stri ...

  2. C# ?(问号)的三个用处(转载)

    public DateTime? StatusDateTime = null; 脑子便也出现个问号,这是什么意思呢?网上搜下,总结如下: 1. 可空类型修饰符(?): 引用类型可以使用空引用表示一个不 ...

  3. mysql 权限控制

    1.mysql的权限是,从某处来的用户对某对象的权限. 2.mysql的权限采用白名单策略,指定用户能做什么,没有指定的都不能做. 3.权限校验分成两个步骤: a.能不能连接,检查从哪里来,用户名和密 ...

  4. c++中vector的学习

    根据各种做题,发现数组并不是很适用于各种情况,当涉及到内存占用的时候,数组可能就没有vector的优势了,而vector,动态数组,比较适合某些情况. 接下来看看比较基本的vector用法: 1 #i ...

  5. Erlang安装笔记

    今天,为了安装RabbitMQ,需要安装Erlang,中间遇到了一些坑,记录下来. 1. 下载Erlang安装包 http://www.erlang.org/downloads http://erla ...

  6. iOS开发之 UIScrollView的frame、contentSize、contentOffset和contentInset属性

    ios中下拉图片变大效果 http://blog.csdn.net/mad2man/article/details/14169197 IOS中UIScrollView的frame.contentSiz ...

  7. [html] 前端角度出发做好SEO需要考虑什么

    Meta标签优化 主要包括主题(Title),网站描述(Description),和关键词(Keywords).还有一些其它的隐藏文字比如Author(作者),Category(目录),Languag ...

  8. MyBatis——Mybatis缓存

    原文:http://www.cnblogs.com/xdp-gacl/p/4270403.html MyBatis学习总结(七)--Mybatis缓存 一.MyBatis缓存介绍 正如大多数持久层框架 ...

  9. zabbix监控系统客户端安装

    原文:http://blog.chinaunix.net/uid-25266990-id-3387002.html 测试使用agentd监听获取数据. 服务端的安装可以查看http://blog.ch ...

  10. about shell

    摘抄 cat 等 cat主要有三大功能:1.一次显示整个文件.$ cat   filename2.从键盘创建一个文件.$ cat  >  filename只能创建新文件,不能编辑已有文件.3.将 ...