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;
})