一、順序結構、選擇結構、循環結構
二、順序結構
程序按照從上到下的順序執行。
三、選擇結構
程序按照某個條件執行(出口只有一個)
1. if條件語句
執行邏輯:對條件進行判斷,如果條件返回值為true 則執行。
if(){ }else{}
(1)單分支
if(餓了){
睡覺
}
(2)雙分支
if(條件){
code;
code2;
}
(3)多分支
(4)a.判斷一個整數,屬於哪個范圍:大於0,小於0,等於0;
var num = 10;
if(num > 0){
code1;
}else if(num < 0){
code2;
}else{
code3;
}
b.判斷一個整數是奇數還是偶數,並輸出判斷結果
var num = 111;
if( num % 2 == 0 ){
code1;
}else if(num % 2 != 0){
code2;
}
c.開發一款軟件,根據公式(身高-108)*2=體重,可以有10斤左右的浮動。來觀察測試者體重是否合適
var height = 200;
var weight = 200;
var item = ( height - 108 ) * 2;
if( weight <= item + 10 && weight >= item - 10 ){
console.log("標准");
}else{
console.log("不標准");
}
2.switch分支
對某個固定值的判斷
(1)語法:
switch() {
case value: 執行的語句;
var week = 4;
switch (week) {
case 1: console.log("星期一");
break;
case 2: console.log("星期二");
break;
case 3: console.log("星期三");
break;
case 4: console.log("星期四");
break;
case 5: console.log("星期五");
break;
case 6: console.log("星期六");
break;
case 7: console.log("星期七");
break;
default: console.log("請重新輸入...");
}
3.if判斷條件為真的條件
a.
非空字符串,返回true; 空字符串"",返回false;
c.所有對象、數組,返回true;null、undefined 返回的是false;
d.當一個函數存在的時候,則為真,否則為假;
四、循環結構
1.定義:重復執行一段代碼(重復代碼塊);
2.作用: a.
b.遍歷數組、json對象、節點集合
3.循環的五大要素:
a.循環變量
b.循環變量的初始值
c.循環的增值
d.循環的條件
e.循環體
4.循環的分類
(1)while循環
while(循環的條件){
循環體
}
執行邏輯:首先進行變量判斷,如果不滿足,不進入循環體,如果滿足,進入循環體,循環體執行完畢,變量增值,再次進行判斷。
案例:
a.怎么實現1 - 50 的和??
var i = 1;
var sum = 0;
while( i <= 50 ){
sum += i;
i++;
}
b.打印100以內7的倍數
var i = 1;
while(i <= 100){
if(i % 7 == 0 ){
console.log(i);
}
i++;
}
console.log(sum);
c.打印100以內所有偶數的和
var i = 1 ;
var sum = 0;
while( i <= 100 ){
if( i % 2 == 0 ){
sum += i;
}
i++;
}
console.log(sum);
(2)do...while循環
語法:
do{
//循環體
}while(i < 10);
執行邏輯:首先進入循環體,執行一次,然后再進行變量的自增,然后再次進行判斷......
案例:
a.入職薪水10K,每年漲幅5%,50年后工資多少?
var money = 10000;
var year = 1;
do{
money *= 1.05;
year++;
}while(year <= 50);
console.log(money);
(3)for循環
語法:
for( 語句1,語句2,語句3 ){
//循環體
}
語句1: 循環變量 以及 初始值
語句2: 循環的終止條件
語句3: 循環變量的增值
執行邏輯:首先聲明循環變量,為變量賦值,然后進行條件判斷,如果成立,進入循環體,循環體執行完畢,循環變量增值,自增之后,再進行條件判斷......。
案例:
a.打印100–200之間所有能被3或者7整除的數
for(var i = 100 ; i <= 200 ; i++){
if(i % 3 == 0 || i % 7 == 0){
console.log(i);
}
}
b.計算100的階乘
var product = 1;
for(var i = 1 ; i <= 100 ; i++){
product *= i;
}
console.log(product)
五、死循環
靠自身無法終止的程序
六、循環嵌套
1.實現表格
document.write("<table>");
for(var i = 0 ; i < 10 ; i++){
document.write("<tr>");
//打印的td
for(var k = 0 ; k < 10 ; k++){
document.write("<td></td>");
}
document.write("</tr>");
}
document.write("</table>");
2.九九乘法表
for(var i = 1 ; i <= 9 ; i++){
for(var j = 1 ; j <= i ; j++){
document.write( j + " * " + i + "=" + i * j + " ");
}
document.write("<br><br>");
}
七、循環練習
1.打印100以內所有偶數的和
var sum = 0;
for(var i = 1 ; i <= 100 ; i++){
if( i % 2 == 0 ){
sum += i;
}
}
console.log(sum);
2.打印出1000-2000年中所有的閏年,並以每行四個數的形式輸(//閏年條件:非整百年,被4整除, 或者被400整除)
//添加一個計數器
var count = 0;
for(var year = 1000 ; year <= 2000 ; year++){
if( year % 100 != 0 && year % 4 == 0 || year % 400 == 0 ){
document.write(year + " ");
//每打印一個閏年,計數器加一,當計數器能被4整除的時候,打印一個換行。
count++;
if(count % 4 == 0){
document.write("<br>")
}
}
}
3.打印三角形(直角三角形)
for(var i = 1 ; i <= 5 ; i++){
for(var k = 1 ; k <= i ; k++){
document.write("<div></div>")
}
document.write("<br>");
}
div和span的樣式:
div {
display: inline-block;
width: 10px;
height: 10px;
background: red;
margin: 10px;
}
span {
display: inline-block;
width: 10px;
height: 10px;
background: blue;
margin: 10px;
}
4.打印等腰三角形
//行數
for(var i = 1 ; i <= 5 ; i++){
//將等腰三角形撐到中間的元素
for(var k = 4 ; k >= i ; k--){
document.write("<span></span>");
}
//等腰三角形的實現
for(var j = 1 ; j <= 2 * i - 1 ; j++){
document.write("<div></div>");
}
document.write("<br>");
}