1.數(shù)組去重
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>數(shù)組去重</title>
<script type="text/javascript">
var aRr = [1,3,4,1,6,9,1,2,5,3,1,6,5,4,4];
var aRr2 = [];
for(var i=0; i<aRr.length; i++){
//判斷元素第一次出現(xiàn)的位置,恰好是當(dāng)前索引時(shí),就將元素放入新數(shù)組
if(aRr.indexOf(aRr[i]) == i){
aRr2.push(aRr[i]);
}
}
alert(aRr2);//1,3,4,6,9,2,5
</script>
</head>
<body>
</body>
</html>
2.循環(huán)語句
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>循環(huán)語句</title>
<script type="text/javascript">
/*
循環(huán)語句:
通過循環(huán)語句可以反復(fù)的執(zhí)行一段代碼多次
while循環(huán)
- 語法:
while(條件表達(dá)式){
語句...
}
- while語句在執(zhí)行時(shí)办悟,
先對(duì)條件表達(dá)式進(jìn)行求值判斷域帐,
如果值為true阁苞,則執(zhí)行循環(huán)體饱溢,
循環(huán)體執(zhí)行完畢以后,繼續(xù)對(duì)表達(dá)式進(jìn)行判斷
如果為true法挨,則繼續(xù)執(zhí)行循環(huán)體码泞,以此類推
如果值為false兄旬,則終止循環(huán)
do...while循環(huán)
- 語法:
do{
語句...
}while(條件表達(dá)式)
- 執(zhí)行流程:
do...while語句在執(zhí)行時(shí),會(huì)先執(zhí)行循環(huán)體,
循環(huán)體執(zhí)行完畢以后领铐,在對(duì)while后的條件表達(dá)式進(jìn)行判斷悯森,
如果結(jié)果為true,則繼續(xù)執(zhí)行循環(huán)體绪撵,執(zhí)行完畢繼續(xù)判斷以此類推
如果結(jié)果為false瓢姻,則終止循環(huán)
實(shí)際上這兩個(gè)語句功能類似,不同的是while是先判斷后執(zhí)行音诈,
而do...while會(huì)先執(zhí)行后判斷幻碱,
do...while可以保證循環(huán)體至少執(zhí)行一次,
而while不能
for語句细溅,也是一個(gè)循環(huán)語句褥傍,也稱為for循環(huán)
在for循環(huán)中,為我們提供了專門的位置用來放三個(gè)表達(dá)式:
1.初始化表達(dá)式
2.條件表達(dá)式
3.更新表達(dá)式
for循環(huán)的語法:
for(①初始化表達(dá)式;②條件表達(dá)式;④更新表達(dá)式){
③語句...
}
for循環(huán)的執(zhí)行流程:
①執(zhí)行初始化表達(dá)式喇聊,初始化變量(初始化表達(dá)式只會(huì)執(zhí)行一次)
②執(zhí)行條件表達(dá)式摔桦,判斷是否執(zhí)行循環(huán)。
如果為true承疲,則執(zhí)行循環(huán)③
如果為false,終止循環(huán)
④執(zhí)行更新表達(dá)式鸥咖,更新表達(dá)式執(zhí)行完畢繼續(xù)重復(fù)②
任意一種循環(huán)都可以互相嵌套
*/
window.onload = function(){
var oList = document.getElementById('list01');
var aLi = oList.getElementsByTagName('li');
/*for (var i = 0; i < aLi.length; i++) {
if(i % 2 == 0){
aLi[i].style.background = 'gold';
}
}*/
/*for(var j in aLi){
aLi[j].style.background = 'red';
}*/
//創(chuàng)建一個(gè)循環(huán)燕鸽,往往需要三個(gè)步驟
//1.創(chuàng)初始化一個(gè)變量
var j = 0;
//2.在循環(huán)中設(shè)置一個(gè)條件表達(dá)式
/*while(j < aLi.length){
aLi[j].style.background = 'gold';
//3.定義一個(gè)更新表達(dá)式,每次更新初始化變量
j++;
}*/
do{
aLi[j].style.background = 'gold';
j++;
}while(j < 0)
/*
以下是死循環(huán)的寫法
像這種將條件表達(dá)式寫死為true的循環(huán)啼辣,叫做死循環(huán)
該循環(huán)不會(huì)停止啊研,除非瀏覽器關(guān)閉,死循環(huán)在開發(fā)中慎用
可以使用break鸥拧,來終止循環(huán)
*/
/*while(true){
if(j>10){
break;//退出整個(gè)循環(huán)
}
j++;
}
//for循環(huán)的死循環(huán)寫法
for(;;){
}*/
/*
break關(guān)鍵字可以用來退出switch或循環(huán)語句
不能在if語句中使用break和continue
break關(guān)鍵字党远,會(huì)立即終止離他最近的那個(gè)循環(huán)語句
continue關(guān)鍵字可以用來跳過當(dāng)次循環(huán)
同樣continue也是默認(rèn)只會(huì)對(duì)離他最近的循環(huán)循環(huán)起作用
*/
/*
可以為循環(huán)語句創(chuàng)建一個(gè)label,來標(biāo)識(shí)當(dāng)前的循環(huán)
label:循環(huán)語句
使用break語句時(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;
}
}
}
</script>
</head>
<body>
<ul id="list01">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</body>
</html>
3.定時(shí)器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>定時(shí)器的基本用法</title>
<style type="text/css">
</style>
<script type="text/javascript">
//單次定時(shí)器
var timer = setTimeout(function(){
alert('hello!');
}, 3000);
//清除單次定時(shí)器
clearTimeout(timer);
//反復(fù)循環(huán)定時(shí)器
var timer2 = setInterval(function(){
alert('hi~~~');
}, 2000);
//清除反復(fù)循環(huán)定時(shí)器
clearInterval(timer2);
</script>
</head>
<body>
</body>
</html>