arguments:
可变量(不定参):参数的个数可变,参数数组
function sum(){
var sum = 0;
for( var i = 0; i<arguments.length;i++ ){
sum+=arguments[i]
}
return sum;
}
sum(3,5,6,78,9)
css(oDiv,’width’) //获取样式
css(oDIv,’width’,200) //设置样式
如何分辨他们:arguments
function css(obj,name,value) {
if(arguments==2) {
// return arguments[0].style[arguments[1]];
return obj.style[name];
}
else
{
// arguments[0].style[arguments[1]] = arguments[2];
obj.style[name] = value;
}
}
window.onload = function() {
var oDiv= document.getElementById("div1");
css(oDiv,"background","green");
}
如何获取非行间的样式
行间的样式可以使用obj.style.width
之类的方法获得其样式
currentStyle:用来获取非行间样式
//IE
oDiv.currentStyle.width
//Chrome、FF
getComputedStyle(obj,null); 1:某个具体的值 2:随便放值
getComputedStyle(oDiv,false).width;
js第二定律:但凡好东西,一定不兼容(&_&)
function getStyle(obj,name) {
if(obj.currentStyle) {
return obj.currentStye[name];
}
else
{
return getComputedStyle(obj,false)[name];
}
}
window.onload = function{
var oDiv=document.getElementById("div1");
if(oDiv.currentStyle) {
//IE
oDiv.currentStyle.width
}
else
{
getComputedStyle(oDiv,false).width;
}
}
复合样式:background、border
单一样式:width、height、width
getStyle()不能取复合样式
数组
var a = [1,2,3];
var a = new Array[1,2,3];
一般使用第一种
数组的length
var arr = [1,2,3,4,5,6]
arr.length = 3; //数组就变为三个
length既可以赋值,又可以设置
添加、删除元素
var arr = [1,2,3]
//push尾部添加
arr.push(4); //[1,2,3,4]
//pop尾部删除
arr.pop(); //1,2
//shift头部删除
arr.shift(); //2,3
//unshift()头部添加
arr.unshift()
//splice(开始,长度,元素) 2先删除,后插入
var arr = [1,2,3,4,5,6];
//删除 splice(起点,长度)
arr.splice(2,3); //[1,2,6]
//插入:splice(起点,长度,元素)
arr.splice(2,0,'a','b','c') //[1,2,a,b,c,3,4,5,6]
arr.splice(2,2,'a','b'); //[1,2,a,b,5,6]
concat
var a = [1,2,3];
var b = [4,5,6]
a.concat(b); //[1,2,3,4,5,6]
join
var arr = [1,2,3,4]
arr.join('|'); //1|2|3|4
sort排序
sort只认识字符串
var arr= ['float','width','right'];
arr.sort(); //floatrightwidth
var aRr = [12,3,5,56,88];
arr.sort(function(n1,n2){
/*if(n1<n2) {
return -1;
}
else if(n1>n2)
{
return 1;
}
else
{
return 0;
} */
return n1-n2;
})