變量和函數(shù)預(yù)解析
alert(a)
只把變量a的聲明提前罗丰,賦值不提前聪黎,所以彈出undefined,表示它的值未定義
alert(c)
報(bào)錯(cuò)忘渔,c沒(méi)有聲明高帖,這是真正的未定義
var a = 123;
調(diào)用函數(shù):不會(huì)報(bào)錯(cuò)
myalert();
定義函數(shù):
function myalert(){
alert(‘hello!’);
}
匿名函數(shù)
有名字的函數(shù):
oDiv.onclick = myalert;
function myalert(){
alert('hello');
}
1
2
3
4
5
匿名函數(shù):不需要定義函數(shù)名
oDiv.onclick = function(){
alert('hello');
}
1
2
3
函數(shù)傳參
<script type="text/javascript">
window.onload = function(){
var oDiv = document.getElementById('div1');
change('color', 'gold');//傳入兩個(gè)參數(shù),第一個(gè)是屬性辨萍,第二個(gè)是屬性樣式
change('background', 'red');
change('width', '300px');
//定義一個(gè)change函數(shù)棋恼,傳入兩個(gè)參數(shù)名,styl和val
function change(styl, val){
oDiv.style[styl] = val;
}
}
</script>
<body>
<div id="div1">這是一個(gè)div元素</div>
</body>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
函數(shù)return關(guān)鍵字
返回函數(shù)設(shè)置值锈玉,同時(shí)結(jié)束函數(shù)的運(yùn)行
//寫(xiě)入值
oInput01.value = 10;
oInput02.value = 5;
oBtn.onclick = function(){
var val01 = oInput01.value;
var val02 = oInput02.value;
var rs = add(val01, val02);
alert(rs); 返回rs的值
}
1
2
3
4
5
6
7
8
9
10
流程控制語(yǔ)句
流程控制語(yǔ)句
JS中的程序是從上到下一行一行執(zhí)行的
通過(guò)流程控制語(yǔ)句可以控制程序執(zhí)行流程爪飘,
使程序可以根據(jù)一定的條件來(lái)選擇執(zhí)行
語(yǔ)句的分類(lèi):
1.條件判斷語(yǔ)句
2.條件分支語(yǔ)句
3.循環(huán)語(yǔ)句
條件判斷語(yǔ)句
條件判斷語(yǔ)句:
使用條件判斷語(yǔ)句可以在執(zhí)行某個(gè)語(yǔ)句之前進(jìn)行判斷,如果條件成立才會(huì)執(zhí)行語(yǔ)句拉背,條件不成立則語(yǔ)句不執(zhí)行师崎。
if語(yǔ)句
語(yǔ)法一:
if(條件表達(dá)式){
語(yǔ)句…
}
if語(yǔ)句在執(zhí)行時(shí),會(huì)先對(duì)條件表達(dá)式進(jìn)行求值判斷椅棺,如果條件表達(dá)式的值為true犁罩,則執(zhí)行if后的語(yǔ)句,如果條件表達(dá)式的值為false两疚,則不會(huì)執(zhí)行if后的語(yǔ)句床估。
if語(yǔ)句只能控制緊隨其后的那個(gè)語(yǔ)句,如果希望if語(yǔ)句可以控制多條語(yǔ)句,可以將這些語(yǔ)句統(tǒng)一放到代碼塊中
if語(yǔ)句后的代碼塊(即{})不是必須的诱渤,但是在開(kāi)發(fā)中盡量寫(xiě)上代碼塊丐巫,即使if后只有一條語(yǔ)句
語(yǔ)法二:
if(條件表達(dá)式){
語(yǔ)句…
}else{
語(yǔ)句…
}
if…else…語(yǔ)句
當(dāng)該語(yǔ)句執(zhí)行時(shí),會(huì)先對(duì)if后的條件表達(dá)式進(jìn)行求值判斷勺美,如果該值為true递胧,則執(zhí)行if后的語(yǔ)句,如果該值為false赡茸,則執(zhí)行else后的語(yǔ)句
多重條件判斷語(yǔ)句
if語(yǔ)句
語(yǔ)法三:
if(條件表達(dá)式){
語(yǔ)句...
}else if(條件表達(dá)式){
語(yǔ)句...
}else if(條件表達(dá)式){
語(yǔ)句...
}else{
語(yǔ)句...
}
1
2
3
4
5
6
7
8
9
if…else if…else
當(dāng)該語(yǔ)句執(zhí)行時(shí)缎脾,會(huì)從上到下依次對(duì)條件表達(dá)式進(jìn)行求值判斷
如果值為true,則執(zhí)行當(dāng)前語(yǔ)句占卧。
如果值為false遗菠,則繼續(xù)向下判斷。
如果所有的條件都不滿足屉栓,則執(zhí)行最后一個(gè)else后的語(yǔ)句
該語(yǔ)句中,只會(huì)有一個(gè)代碼塊被執(zhí)行友多,一旦代碼塊執(zhí)行了牲平,則直接結(jié)束語(yǔ)句