JS 章節(jié)②. 基礎(chǔ)應(yīng)用(中) : 深入JavaScript

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>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 獲取元素:document.getElementById 通過(guò)id獲取一個(gè)元素obj.getEle...
    蒲公英_前端開(kāi)發(fā)者閱讀 721評(píng)論 0 4
  • 一、數(shù)組 數(shù)組是一個(gè)有序列表,所以有下標(biāo). 并且數(shù)組在js中可以存在任意類(lèi)型的數(shù)據(jù).并且同一個(gè)數(shù)組中可以存放不同的...
    空谷悠閱讀 563評(píng)論 0 1
  • JS基礎(chǔ)講解 JavaScript組成ECMAScript:解釋器、翻譯DOM:Document Object M...
    FConfidence閱讀 622評(píng)論 0 1
  • 工廠模式類(lèi)似于現(xiàn)實(shí)生活中的工廠可以產(chǎn)生大量相似的商品,去做同樣的事情,實(shí)現(xiàn)同樣的效果;這時(shí)候需要使用工廠模式。簡(jiǎn)單...
    舟漁行舟閱讀 8,130評(píng)論 2 17
  • 懷胎十月,感受著腹中的微動(dòng),您幸福的笑了。 一聲孩啼,便注定了一生的牽掛,一輩子的付出。 嬰兒的啼哭,煩走了白天,...
    心宇心愿666閱讀 283評(píng)論 0 2

友情鏈接更多精彩內(nèi)容