1.函數(shù)返回值
- 返回值1
<script>
function show()
{
return 'advb';
}
var a=show();
alert(a); // 結(jié)果: advb
</script>
- 返回值2
<script>
function show(a, b)
{
return a+b;
}
alert(show(3, 5));
</script>
- 返回值3
<script>
function show(a, b)
{
//return; //沒(méi)有return
}
alert(show(3, 5)); //結(jié)果 : undefined
</script>
<script>
function show(a, b)
{
return; //沒(méi)有return任何東西
}
alert(show(3, 5)); //結(jié)果 : undefined
</script>
- 一般求和
<script>
function sum(a, b)
{
return a+b;
}
alert(sum(12, 6));
</script>
- 多個(gè)參數(shù)求和 (arguments 是一個(gè)可變數(shù)組 )
<script>
function sum()
{
//arguments 是一個(gè)可變數(shù)組
var result=0;
for(var i=0;i<arguments.length;i++)
{
result+=arguments[i];
}
return result;
}
alert(sum(12, 6, 8, 6, 8, 6, 8)); //結(jié)果 : 54
</script>```
- CSS函數(shù) 當(dāng)傳入兩個(gè)參數(shù)時(shí)獲取屬性 , 三個(gè)參數(shù)時(shí),修改樣式
<html>
<head>
<meta charset="utf-8">
<title>CSS函數(shù)</title>
<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')); //獲取到寬度 200px
css(oDiv, 'background', 'green'); //修改背景顏色為綠色
};
</script>
</head>
<body>
<div id="div1" style="width:200px; height:200px; background:red;">
</div>
</body>
</html>
> ###2.取非行間樣式 (也就是樣式寫(xiě)在<style></style>之間,或者css文件中)
由于`currentStyle `只兼容`IE`,`getComputedStyle(oDiv, false)`只兼容`Chrome、FF`等,所以可以寫(xiě)一個(gè)函數(shù)來(lái)獲取非行間樣式
######獲取取非行間樣式 函數(shù):
function getStyle(obj, name)
{
if(obj.currentStyle) //由于currentStyle只兼容IE,所以在IE瀏覽器中他是true,其他瀏覽器中為false
{
return obj.currentStyle[name]; //IE
}
else
{ //計(jì)算樣式 其中g(shù)etComputedStyle(oDiv, xxx) 第二個(gè)參數(shù)可以隨便填,一般習(xí)慣寫(xiě)false
return getComputedStyle(obj, false)[name]; //Chrome、FF
}
}
示例代碼:
通過(guò)上面的函數(shù)來(lái)獲取非行間樣式 `backgroundColor`
window.onload=function ()
{
var oDiv=document.getElementById('div1');
alert(getStyle(oDiv, 'backgroundColor'));
};
###注意
<a>此函數(shù)只適用于單一樣式,復(fù)合樣式不適用!!!</a>
單一樣式:width、height、position 等
復(fù)合樣式:background、border 等
>###3.數(shù)組
- 數(shù)組基礎(chǔ)
- 數(shù)組的使用
定義
var arr=[12, 5, 8, 9]; //一般用這種創(chuàng)建方式,簡(jiǎn)單
var arr=new Array(12, 5, 8, 9); //也可以這樣創(chuàng)建
沒(méi)有任何差別,[]的性能略高,因?yàn)榇a短
- 數(shù)組的屬性
length
既可以獲取,又可以設(shè)置 :①.可以獲取數(shù)組的個(gè)數(shù),②.又可以用過(guò)array.length = 1;來(lái)設(shè)置數(shù)組的個(gè)數(shù);
例子:快速清空數(shù)組 //用過(guò)array.length = 0;來(lái)清空數(shù)組;
數(shù)組使用原則:數(shù)組中應(yīng)該只存一種類(lèi)型的變量
- 數(shù)組的方法
添加
push(元素),從尾部添加一個(gè)元素
unshift(元素),從頭部添加一個(gè)元素
刪除
pop(),從尾部刪除一個(gè)元素
shift(),從頭部刪除一個(gè)元素
- 插入、刪除
`splice` (`音標(biāo):[spla?s]`) : 數(shù)組的萬(wàn)能操作
刪除
splice(開(kāi)始,長(zhǎng)度) //第一個(gè)參數(shù):指定位置;第二個(gè)參數(shù):指定長(zhǎng)度
插入
splice(開(kāi)始, 0, 元素…)
先刪除,后插入
splice(開(kāi)始, 長(zhǎng)度,元素…)
先刪除,后插入
替換
先刪除,后插入 可用作替換
- 數(shù)組連接 (兩個(gè)數(shù)組合并) :concat
concat(數(shù)組2)
連接兩個(gè)數(shù)組
<script>
var a = [1,2,3];
var b = [4,5,6];
alert(a.concat(b)); 結(jié)果:[1,2,3,4,5,6];
alert(b.concat(a)); 結(jié)果:[4,5,6,1,2,3];
</script>
- join(分隔符)
用分隔符,組合數(shù)組元素,生成字符串 (學(xué)習(xí)ajax時(shí),連接網(wǎng)址使用)
<script>
var arr = [1,2,3,4];
alert(arr.join('-')) //1-2-3-4
alert(arr.join('- -p')) //1- -p2- -p3- -p4
</script>
- 字符串split (`[spl?t]`分離;分解)
split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
stringObject.split(separator,howmany)
separator 必需。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 stringObject。
howmany 可選。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度。如果設(shè)置了該參數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組。如果沒(méi)有設(shè)置該參數(shù),整個(gè)字符串都會(huì)被分割,不考慮它的長(zhǎng)度。
使用
如果您希望把單詞分割為字母,或者把字符串分割為字符,可使用下面的代碼:
"hello".split("") //可返回 ["h", "e", "l", "l", "o"]
若只需要返回一部分字符,請(qǐng)使用 howmany 參數(shù):
"hello".split("", 3) //可返回 ["h", "e", "l"]
- 排序 sort
`sort([比較函數(shù)])`,排序一個(gè)數(shù)組
排序一個(gè)字符串?dāng)?shù)組
排序一個(gè)數(shù)字?jǐn)?shù)組
① 排序一個(gè)字符串?dāng)?shù)組
<script>
var arr=['float', 'width', 'alpha', 'zoom', 'left'];
arr.sort();
alert(arr); //結(jié)果 ['alpha','float','left','width','zoom']
</script>
②排序一個(gè)數(shù)字?jǐn)?shù)組
- 2.1 基礎(chǔ)版
<script>
var arr=[12, 8, 99, 19, 112];
arr.sort();
alert(arr); //結(jié)果: [112,12,19,8,99] //其實(shí)他把數(shù)字當(dāng)成字符串來(lái)排序了
</script>
- 2.1 晉級(jí)版
<script>
var arr=[12, 8, 99, 19, 112];
arr.sort(function (n1, n2){
if(n1<n2)
{
return -1;//只要是個(gè)負(fù)數(shù)就可以 -2,-7等都可以
}
else if(n1>n2)
{
return 1; //只要是個(gè)正數(shù)就夠了
}
else
{
return 0;
}
});
alert(arr); //結(jié)果:[8,12,19,99,112]
</script>
- 2.2最終版 (由2.1進(jìn)化而來(lái))
<script>
var arr=[12, 8, 99, 19, 112];
arr.sort(function (n1, n2){
return n1-n2; //若果n1>n2,為正;如果n1<n2,為負(fù);如果相等,則為0;
});
alert(arr);//結(jié)果:[8,12,19,99,112]
</script>