您的位置:首页 > Web前端 > CSS

JS-可变参(arguments )取非行间样式

2015-10-10 11:19 561 查看
函数返回值
什么是函数返回值
函数的执行结果
可以没有return
一个函数应该只返回一种类型的值

函数传参
1.可变参(不定参):arguments
参数的个数可变,参数数组
例子1:求和 求所有参数的和
2.取非行间样式(不能用来设置)obj.currentStyle[attr] getComputedStyle(obj, false)[attr]
例子1:
<script>
function sum()(

{
var result=0;
for(var i=0;i<arguments.length;i++)
{
result+=arguments[i];
}
return result;
}
alert(sum(12, 6, 8,8, 6, 8, 6, 8));
</script>

例子2:CSS函数 判断arguments.length 给参数取名,增强可读性

<script>
function css()
{
if(arguments.length==2) //获取
{
return arguments[0].style[arguments[1]];
}
else
{
arguments[0].style[arguments[1]]=arguments[2];
}
}

window.onload=function ()
{
var oDiv=document.getElementById('div1');

//alert(css(oDiv, 'width'));

css(oDiv, 'background', 'green');
};
</script>

<div id="div1" style="width:200px; height:200px; background:red;"></div>
缩写版:
<script>
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');

alert(css(oDiv, 'width'));

//css(oDiv, 'background', 'green');
};
</script>
2.取非行间样式(不能用来设置)obj.currentStyle[attr] getComputedStyle(obj, false)[attr]
<style>
#div1 {width:200px; height:200px; background:red;}
</style>
<script>
function getStyle(obj, name)
{
if(obj.currentStyle)
{
return obj.currentStyle[name];//兼容ie版本
}
else
{
return getComputedStyle(obj, false)[name];//兼容FF和谷歌版本
}
}

window.onload=function ()
{
var oDiv=document.getElementById('div1');

alert(getStyle(oDiv, 'backgroundColor'));
};
</script>

<div id="div1">
</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: