JS-可變參(arguments )取非行間樣式

函數返回值
什麼是函數返回值
函數的執行結果
能夠沒有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>
相關文章
相關標籤/搜索