js 参数arguments小记
最近小猫又抽风,不学css,看起了js。不过有学习了一项新的技能。
js中的arguments代表了参数组,当我们的参数不固定是可以使用这个求和神马的。
function sum(){
var result=0;
alert(arguments.length);
for(var i=0;i<arguments.length;i++){
result+=arguments[i];
}
return result;
};
window.onload=function(){
alert(sum(1,2,3,4,5));
};
还有个小例子,根据参数的个数判断如果是两个就是读取当前对象的属性,如果是三个值就是设置当前对象的摸个属性。
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");
//读取当前oDiv的width
alert(css(oDiv,"width"));
//设置当前oDiv的背景为orange
getStyle(css,"background","orange");
};
这是最简单的读取和操作行间样式的,如果是引用的样式可是不行的哦,所以下面就又有了小方法,来获取引用样式的值。
function getStyle(obj,name){
if(obj.currentStyle){
return obj.currentStyle[name];
}else{
return getComputedStyle(obj,false)[name];
}
};
window.onload=function(){
var oDiv=document.getElementById("div1");
alert(getStyle(oDiv,"width"));
};
这个方法还处理一下兼容的问题,唯一不足之处目前只能获取单一的样式,比如说宽度,高度,如果想要获取背景颜色,必须指定backgroundColor。继续努力学习吧。