1. 程式人生 > >JavaScript的函式(定義與解析、匿名函式、函式傳參、return關鍵字)和陣列(操作資料的方法、多維陣列、陣列去重)

JavaScript的函式(定義與解析、匿名函式、函式傳參、return關鍵字)和陣列(操作資料的方法、多維陣列、陣列去重)

函式

函式就是重複執行的程式碼片。

1、函式定義與執行

<script type="text/javascript">
    // 函式定義
    function aa(){
        alert('hello!');
    }
    // 函式執行
    aa();
</script>

2、變數與函式預解析

JavaScript 解析過程分為兩個階段,先是編譯階段,然後執行階段,在編譯階段會將 function 定義的函式提前,並且將 var 定義的變數宣告提前,將它賦值為 undefined。

<script type
="text/javascript">
aa(); // 彈出 hello! alert(bb); // 彈出 undefined function aa(){ alert('hello!'); } var bb = 123; </script>

3、提取行間事件

在 html 行間呼叫的事件可以提取到 javascript 中呼叫,從而做到結構與行為分離。

<!--行間事件呼叫函式   -->
<script type="text/javascript">        
    function
myalert(){
alert('ok!'); }
</script> ...... <input type="button" name="" value="彈出" onclick="myalert()"> <!-- 提取行間事件 --> <script type="text/javascript"> window.onload = function(){ var oBtn = document.getElementById('btn1'); oBtn.onclick = myalert; function
myalert(){
alert('ok!'); } }
</script> ...... <input type="button" name="" value="彈出" id="btn1">

4、匿名函式

定義的函式可以不給名稱,這個叫做匿名函式,可以將匿名函式直接賦值給元素繫結的事件來完成匿名函式的呼叫。

<script type="text/javascript">
window.onload = function(){
    var oBtn = document.getElementById('btn1');
    // 直接將匿名函式賦值給繫結的事件
    oBtn.onclick = function (){
        alert('ok!');
    }
}
</script>
<input type="button" name="" value="彈出" id="btn1">

5、函式傳參

<script type="text/javascript">
    function myalert(a){
        alert(a);
    }
    myalert(12345);
</script>

6、函式return關鍵字

函式中return關鍵字的作用:
1、返回函式執行的結果
2、結束函式的執行
3、阻止預設行為

<script type="text/javascript">
function add(a,b){
    var c = a + b;
    return c;
    alert('here!');
}

var d = add(3,4);
alert(d);  // 彈出7
</script>

陣列及操作方法

陣列就是一組資料的集合,javascript中,數組裡面的資料可以是不同型別的。

1、定義陣列的方法

//物件的例項建立
var aList = new Array(1,2,3);

//直接量建立
var aList2 = [1,2,3,'asd'];

2、運算元組中資料的方法

參考網站

1、獲取陣列的長度:aList.length;

2、用下標運算元組的某個資料:aList[0];

3、join() 將陣列成員通過一個分隔符合併成字串

4、push()pop() 從陣列最後增加成員或刪除成員

5、unshift()shift() 從陣列前面增加成員或刪除成員

6、reverse() 將陣列反轉

7、indexOf() 返回陣列中元素第一次出現的索引值

8、splice() 在陣列中增加或刪除成員

3、多維陣列

多維陣列指的是陣列的成員也是陣列的陣列。

var aList = [[1,2,3],['a','b','c']];

alert(aList[0][1]); //彈出2;

4、陣列去重

var aList = [1,2,3,4,4,3,2,1,2,3,4,5,6,5,5,3,3,4,2,1];
var aList2 = [];
for(var i=0;i<aList.length;i++){
    if(aList.indexOf(aList[i])==i){
        aList2.push(aList[i]);
    }
}
alert(aList2);

5、獲取元素的第二種方法

document.getElementsByTagName(''),獲取的是一個選擇集,也是陣列,但是可以用下標的方式操作選擇集裡面的dom元素。