函數(shù)
函數(shù)就是重復(fù)執(zhí)行的代碼片。
函數(shù)定義與執(zhí)行
<script type="text/javascript">
// 函數(shù)定義
function aa(){
alert('hello!');
}
// 函數(shù)執(zhí)行
aa();
</script>
變量與函數(shù)預(yù)解析:
JavaScript解析過程分為兩個階段,先是編譯階段,然后執(zhí)行階段,在編譯階段會將function定義的函數(shù)提前,并且將var定義的變量聲明提前,將它賦值為undefined。
<script type="text/javascript">
aa(); // 彈出 hello!
alert(bb); // 彈出 undefined
function aa(){
alert('hello!');
}
var bb = 123;
</script>
提取行間事件:
在html行間調(diào)用的事件可以提取到j(luò)avascript中調(diào)用,從而做到結(jié)構(gòu)與行為分離。
<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">
匿名函數(shù):
定義的函數(shù)可以不給名稱,這個叫做匿名函數(shù),可以將匿名函數(shù)直接賦值給元素綁定的事件來完成匿名函數(shù)的調(diào)用。
<script type="text/javascript">
window.onload = function(){
var oBtn = document.getElementById('btn1');
/*
oBtn.onclick = myalert;
function myalert(){
alert('ok!');
}
*/
// 直接將匿名函數(shù)賦值給綁定的事件
oBtn.onclick = function (){
alert('ok!');
}
}
</script>
函數(shù)傳參:
<script type="text/javascript">
function myalert(a){
alert(a);
}
myalert(12345);
</script>
函數(shù)'return'關(guān)鍵字:
函數(shù)中'return'關(guān)鍵字的作用
1、返回函數(shù)執(zhí)行的結(jié)果
2、結(jié)束函數(shù)的運行
3、阻止默認(rèn)行為
<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>