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;
}
}
js基础之arguments、css的更多相关文章
- JS基础语法---arguments对象伪数组
引入: //计算两个数字的和 function f1(x, y) { return x + y; } //计算三个数字的和 function f2(x, y, z) { return x + y + ...
- 前端工程师面试问题归纳(一、问答类html/css/js基础)
一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...
- js基础篇——call/apply、arguments、undefined/null
a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...
- HTML+CSS+JS基础知识
HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...
- js基础进阶--关于Array.prototype.slice.call(arguments) 的思考
欢迎访问我的个人博客:http://www.xiaolongwu.cn Array.prototype.slice.call(arguments)的作用为:强制转化arguments为数组格式,一般出 ...
- js基础之javascript的存在形式和js代码块在页面中的存放位置和 CSS 对比
1.存在形式 文件 如: <script src='js/jc.js'></script> 前页面 <script type='text/javascript'>a ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
- 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.02更新)
温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string type ...
- 前端05 /js基础
前端05 /js基础 昨日内容回顾 css选择器的优先级 行内(1000) > id(100) > 类(10) > 标签(1) > 继承(0) 颜色 rgb(255,255,2 ...
随机推荐
- Linux crontab 定时任务
http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html 19. crontab 定时任务 通过crontab 命令,我们 ...
- 关于js的兼容问题(小办法)!
今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上: 常遇到的关于浏览器的宽高问题: //以下均可console.log()实验 var winW=docu ...
- FSL安装
本文介绍如何安装医学图像处理软件fsl. 安装环境:Win8和Ubuntu 14.04 LTS(双系统和虚拟机皆可) 1. 安装ubuntu 14.04 LTS 2. 打开终端,设置ip代理:expo ...
- Android Loader详解
装载器从android3.0开始引进.它使得在activity或fragment中异步加载数据变得简单.装载器具有如下特性: 它们对每个Activity和Fragment都有效. 他们提供了异步加载数 ...
- hdu 4870 Rating
题目链接:hdu 4870 这题应该算是概率 dp 吧,刚开始看了好几个博客都一头雾水,总有些细节理不清楚,后来看了 hdu 4870 Rating (概率dp) 这篇博客终于有如醍醐灌顶,就好像是第 ...
- new Date()时间对象
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8&qu ...
- 解析excel表格为DataSet
using System;using System.Collections.Generic;using System.Data;using System.Data.OleDb;using System ...
- unity3d magnitude的意义
http://blog.csdn.net/fzhlee/article/details/8663564 magnitude (Read Only) 返回向量的长度,也就是点P(x,y,z)到原点( ...
- sass小总结
一般有两种后缀 .sass和.scss,推荐使用后者. 写下自己对sass的理解 1.变量 $border-color:#c66; $border:1px solid $border-color; ...
- 《Java程序设计》实验三 实验报告
实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2 ...