流程控制語(yǔ)句:
通過(guò)流程控制語(yǔ)句可以控制程序執(zhí)行流程,使程序可以根據(jù)一定的條件來(lái)選擇執(zhí)行
? ? ? ? 語(yǔ)句分類:
1.條件判斷語(yǔ)句:if...(else if)...else...
2.條件分支語(yǔ)句:switch/case
3.循環(huán)語(yǔ)句:while for do...while
條件判斷語(yǔ)句:
使用條件判斷語(yǔ)句可以在執(zhí)行某個(gè)語(yǔ)句之前進(jìn)行判斷,條件成立則執(zhí)行語(yǔ)句,不成立則不執(zhí)行
? ? ? ? ? ?? 語(yǔ)法:1:if(條件表達(dá)式){語(yǔ)句}
? ? ?? if語(yǔ)句只能控制緊隨其后的那個(gè)語(yǔ)句,若想控制多條語(yǔ)句,可以將這些語(yǔ)句統(tǒng)一放入代碼塊中
? ? ?? 2:if(條件表達(dá)式){語(yǔ)句...}
? ? ?? else{語(yǔ)句...}
? ? ?? 要么if要么else
? ? ?? 3:多重條件判斷語(yǔ)句:if...else if...else
條件分支語(yǔ)句:
? ? ? ? ? ?? 語(yǔ)法:switch(條件表達(dá)式){case 表達(dá)式:語(yǔ)句...break;
? ?? case 表達(dá)式:語(yǔ)句...break;
? ?? default:語(yǔ)句...break;}
數(shù)組:
面向?qū)ο蟮姆绞絼?chuàng)建(不常用)
? ? ? ? ? var arr01 = new Array(1,2,3,'abc');? (new Array為固定語(yǔ)法)
? ? ? ? ? 直接創(chuàng)建(常用)
? ? ? ? ? var arr02 = [1,2,3,'def'];
數(shù)組常用方法:
函數(shù)名.length:獲取數(shù)組內(nèi)元素個(gè)數(shù)
函數(shù)名[下標(biāo)]:獲取下標(biāo)代表的元素內(nèi)容
函數(shù)名[下標(biāo)].length:獲取下標(biāo)代表的數(shù)組的元素個(gè)數(shù)
函數(shù)名[下標(biāo)][內(nèi)下標(biāo)]:獲取下標(biāo)代表數(shù)組中的下標(biāo)代表的元素內(nèi)容
aRr.join('');?? 句中元素間插入
aRr.push(5);?? 在元素最后方添加一個(gè)5
aRr.pop();?? 在元素最后方減去一個(gè)
aRr.unshift(0);?? 在元素最前方添加一個(gè)0
aRr.shift();?? 在元素最前方減去一個(gè)
aRr.reverse();?? 反轉(zhuǎn) 將元素倒過(guò)來(lái)
arr2.indexof('b');?? 查看arr2中 'b'第一次出現(xiàn)時(shí)的下標(biāo)索引
arr2.splice(2,1);? ? 從下標(biāo)為二的元素開始,刪除一個(gè)元素
arr2.splice(2,1,'e');? ? 從下標(biāo)為二的元素開始,刪除一個(gè)元素,再在此處插入一個(gè)元素'e'
【//<li id='li1'>1</li>
document.getElementsById('li1');】
【//<li class='li1'>1</li>
document.getElementsByClassName('li1');】
【// <li>1</li>獲取頁(yè)面所有的li
var lis = document.getElementsByTagName('li');】
【// 先獲取ul
var list01 = document.getElementsById('list01');
//再獲取ul下的所有l(wèi)i
var lis = list01.getElementsByTagName('li');】
【lis.pop(); //數(shù)據(jù)集不能調(diào)用數(shù)組的常用方法】
【lis.style.backgroundColor = 'gold'; //數(shù)據(jù)集不能直接設(shè)置樣式】
lis[0].style.backgroundColor = 'gold';
循環(huán)語(yǔ)句:
通過(guò)循環(huán)語(yǔ)句可以反復(fù)執(zhí)行一段代碼多次
while循環(huán)- 語(yǔ)法:
while(條件表達(dá)式){
語(yǔ)句...
}
*while語(yǔ)句在執(zhí)行時(shí),先對(duì)條件表達(dá)式進(jìn)行求值判斷,值為true,則執(zhí)行循環(huán)體,false則終止循環(huán)
do...while循環(huán)-語(yǔ)法:
do{
語(yǔ)句...
}while(條件表達(dá)式)
*會(huì)先執(zhí)行循環(huán)體,循環(huán)體執(zhí)行過(guò)以后才對(duì)表達(dá)式進(jìn)行判斷,可保證循環(huán)體至少執(zhí)行一次
for循環(huán)-語(yǔ)法:
for(①初始化表達(dá)式;②條件表達(dá)式;④更新表達(dá)式){③語(yǔ)句...}
死循環(huán)寫法:
while(true){
if(j>10){
break;//退出整個(gè)循環(huán)
}
j++;
}
//for循環(huán)的死循環(huán)寫法
for(;;){}
break關(guān)鍵字:可以用來(lái)退出switch或循環(huán)語(yǔ)句
不能在if語(yǔ)句中使用break和continue
break關(guān)鍵字,會(huì)立即終止【離他最近】的那個(gè)循環(huán)語(yǔ)句
continue關(guān)鍵字:可以用來(lái)跳過(guò)當(dāng)次循環(huán)
同樣continue也是默認(rèn)只會(huì)對(duì)離他最近的循環(huán)循環(huán)起作用
可以為循環(huán)語(yǔ)句創(chuàng)建一個(gè)label,來(lái)標(biāo)識(shí)當(dāng)前的循環(huán)
label:循環(huán)語(yǔ)句
使用break語(yǔ)句時(shí),可以在break后跟著一個(gè)label,
這樣break將會(huì)結(jié)束指定的循環(huán),而不是最近的
outer:
for(var i=0 ; i<5 ; i++){
console.log("@外層循環(huán)"+i);
for(var j=0 ; j<5; j++){
console.log("內(nèi)層循環(huán):"+j);
break outer;
}
}