JavaScript的函式(定義與解析、匿名函式、函式傳參、return關鍵字)和陣列(操作資料的方法、多維陣列、陣列去重)
阿新 • • 發佈:2018-11-10
函式
函式就是重複執行的程式碼片。
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元素。