多重條件判斷語句
if語句
語法三:
if(條件表達式){
語句...
}else if(條件表達式){
語句...
}else if(條件表達式){
語句...
}else{
語句...
}
if...else if...else
當該語句執行時,會從上到下依次對條件表達式進行求值判斷
如果值為true,則執行當前語句。
如果值為false,則繼續向下判斷。
如果所有的條件都不滿足,則執行最后一個else后的語句
該語句中,只會有一個代碼塊被執行,一旦代碼塊執行了,則直接結束語句
條件分支語句也叫switch語句
語法:
switch(條件表達式){
case 表達式:
語句...
break;
case 表達式:
語句...
break;
default:
語句...
break;
}
執行流程:
switch...case..語句
在執行時會依次將case后的表達式的值和switch后的條件表達式的值進行全等比較,
如果比較結果為true,則從當前case處開始執行代碼。
當前case后的所有的代碼都會執行,我們可以在case的后邊跟著一個break關鍵字,
這樣可以確保只會執行當前case后的語句,而不會執行其他的case
如果比較結果為false,則繼續向下比較
如果所有的比較結果都為false,則只執行default后的語句
switch語句和if語句的功能實際上有重復的,使用switch可以實現if的功能,同樣使用if也可以實現switch的功能,所以我們使用時,可以根據自己的習慣選擇。
數組
數組常用方法
var aRr = [1,2,3,4];
//用-連接數組元素并轉為字符串
//var sTr = aRr.join("-");//用-連接數組元素并轉為字符串,彈出1-2-3-4
// var sTr = aRr.join('');//用空串連接
// alert(sTr);//彈出1234
//向數組最后追加元素
// aRr.push(5);
// alert(aRr);//1,2,3,4,5
//刪除末尾元素
// aRr.pop();
// alert(aRr);//1,2,3
//向最前面插入元素0
// aRr.unshift(0);
// alert(aRr);//0,1,2,3,4
//刪除第一個(索引為0的)元素
// aRr.shift();
// alert(aRr);//2,3,4
//反轉
// aRr.reverse();
// alert(aRr);//4,3,2,1
//查找字母'b'第一次出現的索引
var aRr2 = ['a','b','c','d','a','b','c','d'];
var num = aRr2.indexOf('b');
// alert(num);//1
//從第2索引元素開始,刪除1個元素
// aRr2.splice(2,1);//刪除c
// alert(aRr2);//a,b,d,a,b,c,d
//從第2索引元素開始,刪除1個元素,再插入e
// aRr2.splice(2,1,'e');//把c替換成e
// alert(aRr2);//a,b,e,d,a,b,c,d
//刪除后面的abcd,改為fghi
aRr2.splice(4,4,'f','g','h','i');
alert(aRr2);//a,b,c,d,f,g,h,i
通過標簽獲取元素
window.onload = function(){
// //獲取頁面上所有的li
// var aLi = document.getElementsByTagName('li');
//獲取id為list01的ul
var oList = document.getElementById('list01');
//再獲取這個ul下的所有li
var aLi = oList.getElementsByTagName('li');
alert(aLi.length);//8
// aLi.pop();//錯誤用法,aLi是一個類似數組的選擇集,沒有數組通用的一些方法
aLi[0].style.backgroundColor = 'gold';
aLi[1].style.backgroundColor = 'gold';
}
循環語句
循環語句:
通過循環語句可以反復的執行一段代碼多次
while循環
- 語法:
while(條件表達式){
語句...
}
- while語句在執行時,
先對條件表達式進行求值判斷,
如果值為true,則執行循環體,
循環體執行完畢以后,繼續對表達式進行判斷
如果為true,則繼續執行循環體,以此類推
如果值為false,則終止循環
do...while循環
- 語法:
do{
語句...
}while(條件表達式)
- 執行流程:
do...while語句在執行時,會先執行循環體,
循環體執行完畢以后,在對while后的條件表達式進行判斷,
如果結果為true,則繼續執行循環體,執行完畢繼續判斷以此類推
如果結果為false,則終止循環
實際上這兩個語句功能類似,不同的是while是先判斷后執行,
而do...while會先執行后判斷,
do...while可以保證循環體至少執行一次,
而while不能
for語句,也是一個循環語句,也稱為for循環
在for循環中,為我們提供了專門的位置用來放三個表達式:
1.初始化表達式
2.條件表達式
3.更新表達式
for循環的語法:
for(①初始化表達式;②條件表達式;④更新表達式){
③語句...
}
for循環的執行流程:
①執行初始化表達式,初始化變量(初始化表達式只會執行一次)
②執行條件表達式,判斷是否執行循環。
如果為true,則執行循環③
如果為false,終止循環
④執行更新表達式,更新表達式執行完畢繼續重復②
任意一種循環都可以互相嵌套
數組去除
字符串處理的方法
/*字符串切斷轉成數組*/
var sTr = '2018-06-20';
var aRr = sTr.split('-');
// alert(aRr);//2018,06,20
// console.log(aRr);
var aRr2 = sTr.split('');
// console.log(aRr2);
/*實際上就是修改了<title>標簽的內容*/
// document.title = aRr2;
var sTr2 = '#div1';
var sTr3 = '.div1';
/*獲取指定索引的字符*/
var sTr4 = sTr2.charAt(0);
if(sTr4 == '#'){
// alert('id選擇器');
}
/*查看子串第一次出現的位置*/
var sTr5 = 'Microsoft Yahei';
var num = sTr5.indexOf('Yahei');
// alert(num);//10
var num2 = sTr5.indexOf('xihei');
// alert(num2);//沒有找到就彈出-1
/*substring截取子串*/
//從10開始,截到15(包括開始位置,不包括結束位置)
// var sTr6 = sTr5.substring(10,15);//Yahei
//從10開始截取到末尾
var sTr6 = sTr5.substring(10);//Yahei
// alert(sTr6);
/*全部轉為大寫字母*/
// alert(sTr6.toUpperCase());//YAHEI
/*全部轉為小寫字母*/
alert(sTr6.toLowerCase());//yahei
字符串反轉
定時器彈框
.pop{
width: 400px;
height: 300px;
background-color: #fff;
border: 1px solid #000;
/*固定定位*/
position: fixed;
/*左上角位于頁面中心*/
left: 50%;
top: 50%;
/*讓div向左偏移半個寬度、向上偏移半個高度,使div位于頁面中心*/
margin-left: -200px;
margin-top: -150px;
/*彈窗在最上面*/
z-index: 9999;
}
/*遮罩樣式*/
.mask{
position: fixed;
width: 100%;
height: 100%;
background-color: #000;
left: 0;
top: 0;
/*設置透明度30%*/
opacity: 0.3;
filter: alpha(opacity=30);/*兼容IE6、7、8*/
/*遮罩在彈窗的下面,在網頁所有內容的上面*/
z-index: 9990;
}
.pop_con{
display: none;/*默認不顯示,用定時器顯示*/
}