2019-05-24 js第三天

循環(huán),三元表達式和switchcase

1復(fù)習(xí)if

//條件語句:

? ? //? 1. 單條件? if(bool){? 代碼塊? }?

? ? if (2 > 1) {

? ? ? console.log('我覺得你大學(xué)不應(yīng)該畢業(yè)~~~');

? ? }

? ? // 2. 二選一條件 if(bool){ if代碼塊 }? else{ else代碼塊 }

? ? //? ? 如果 if小括號 中 的結(jié)果 是 true,就執(zhí)行 if代碼塊 ,否則 執(zhí)行 else 代碼塊

? ? if (1 > 2) {

? ? ? console.log('true');

? ? } else {

? ? ? console.log('false');

? ? }

? ? // 3. 多條件? if(bool) { 代碼 }? else if(bool){ 代碼 } else if(bool) { 代碼 } ..... else{ }

? ? //? ? 多條件中 ,如果 任意一個 if 的條件滿足了,就執(zhí)行 這個 if 的 代碼塊,后面的 判斷 都不執(zhí)行了,直接 執(zhí)行 整個 if 結(jié)構(gòu) 后面的代碼!

? ? var salary = 5000;

? ? if (salary == 5000) {

? ? ? console.log('每天吃 方便面~~~');

? ? } else if (salary == 10000) {

? ? ? console.log('每天吃 兩包方面便~~~');

? ? } else if (salary == 15000) {

? ? ? console.log('每天吃 農(nóng)家小炒肉~~~');

? ? } else {

? ? ? console.log('每天吃 麻辣燙~~~');

? ? }

? ? console.log('if 主要代碼復(fù)習(xí)結(jié)束~~~~');

? ? //4. if 嵌套 : 就在 if 的代碼塊 中 再寫一個 if結(jié)構(gòu)的代碼

? ? if (1 > 0) {

? ? ? if (2 > 0) {

? ? ? }else if(3 > 0){

? ? ? }else{

? ? ? }

? ? }

2三元表達式

//1.三元運算符 ? : -》 條件 ? 代碼1 : 代碼2

? ? //1.1 簡化? 二選一 if結(jié)構(gòu) --------------------------------------------------------------------

? ? var usrName = '小蒼蒼';

? ? // if (usrName == '小蒼蒼') {

? ? //? console.log('蒼蒼,我們一起去看電影好嗎?');

? ? // } else {

? ? //? console.log('美女,有機會一起看個電影唄~~~');

? ? // }

? ? // 如果 ? 前面 是 true,那么 就調(diào)用 : 前面的代碼

? ? //? ? ? ? ? ? ? false,? ? ? ? ? : 后面的代碼

? ? usrName == '小蒼蒼' ? console.log('蒼蒼,我們一起去看電影好嗎?') : console.log('美女,有機會一起看個電影唄~~~');

? ? //1.2 三元運算符 還可以 進行 二選一 的 賦值- ---------------------------------------------------

? ? //? ? 如果 ? 前面 是 true, 那么? 就 將 :? 前面的值 返回 給 變量 salary

? ? //? ? ? ? ? ? ? ? ? false, 那么? 就將? :? 后面的值 返回 給 變量 salary

? ? var salay = usrName == '小蒼蒼' ? 500000 : 5000;

? ? // if (usrName == '小蒼蒼') {

? ? //? salay = 500000;

? ? // }

? ? // else {

? ? //? salay = 5000;

? ? // }

? ? // 1 > 2 ? (1 < 2 ? 1 : 2) : 3;

3? ?switchcase

// 1. switch case 語法 主要用來 做 變量 判等 操作

? ? //? ? ? ? ? ? ? ? ? ? 注意:switch case 中 對變量做判等 用的是 全等號 === !

? ? //? ? ? ? ? ? ? ? ? ? 補充:case 后面 可以 放 任意類型的值 與 變量 進行判等 !

? ? //? ? switch(要進行判等的 變量) {

? ? //? ? ? ? case '值1':{

? ? //? ? ? ? ? ? ? ? case1 代碼塊~~~~

? ? //? ? ? ? ? ? ? ? break; // 退出 整個 switch 結(jié)構(gòu)

? ? //? ? ? ? ? }

? ? //? ? ? ? case '值2':{

? ? //? ? ? ? ? ? ? ? case2 代碼塊~~~~

? ? //? ? ? ? ? ? ? ? break; // 退出 整個 switch 結(jié)構(gòu)

? ? //? ? ? ? ? }

? ? //? ? ? ? case '值3':{

? ? //? ? ? ? ? ? ? ? case3 代碼塊~~~~

? ? //? ? ? ? ? ? ? ? break; // 退出 整個 switch 結(jié)構(gòu)

? ? //? ? ? ? ? }

? ? //? ? ? ? default:{

? ? //? ? ? ? ? ? ? ? default 代碼塊~~~~

? ? //? ? ? ? ? }

? ? // }

? ? // == 值判斷 兩邊的 值是不是一樣

? ? // === 判斷 兩邊的值 也 會 判斷 兩邊的 數(shù)據(jù)類型 是否一樣?。?/p>

? ? var usrName = '小班班';

? ? switch (usrName) {

? ? ? case '小波波': { // 相當(dāng)于 if(usrName === '小波波')

? ? ? ? console.log('親,我可以親你嗎?');

? ? ? ? break; // 跳出 switch 結(jié)構(gòu) ,執(zhí)行 switch結(jié)構(gòu) 后面的代碼

? ? ? }

? ? ? case '小蒼蒼': {

? ? ? ? console.log('親,我可以抱你嘛?');

? ? ? ? break;

? ? ? }

? ? ? case '小澤澤': {

? ? ? ? console.log('親,我可以帶你去湘江邊嗎?');

? ? ? ? break;

? ? ? }

? ? ? default: {

? ? ? ? console.log('我不喜歡男的~~~~');

? ? ? }

? ? }

? ? console.log('我是switch結(jié)構(gòu)后面的代碼~~~~');

? ? // if(usrName == '小波波'){

? ? //? console.log('親,我可以親你嗎?');

? ? // }else if(usrName == '小蒼蒼'){

? ? //? console.log('親,我可以抱你嘛?');

? ? // }else if(usrName == '小澤澤'){

? ? //? console.log('親,我可以帶你去湘江邊嗎?');

? ? // }else{

? ? //? console.log('我不喜歡男的~~~~');

? ? // }

04switchcase? break

//1.switch穿透:當(dāng) case 中 沒有 寫 break 來 退出 整個 swtich結(jié)構(gòu)時,就叫做 switch穿透。

? ? //? ? ? ? ? ? ? 沒寫 break 的 case {} 代碼結(jié)束后,會執(zhí)行 下一個 case{} 代碼塊里的代碼??!直到遇到 break 或 default 為止?。?!

? ? var usrName = '小波波';

? ? switch (usrName) {

? ? ? case '小波波': { // 相當(dāng)于 if(usrName === '小波波')

? ? ? ? console.log('親,我可以親你嗎?');

? ? ? ? // 注意 這里 沒有 寫 break;

? ? ? }

? ? ? case '小蒼蒼': {

? ? ? ? console.log('親,我可以抱你嘛?');

? ? ? ? break;

? ? ? }

? ? ? case '小澤澤': {

? ? ? ? console.log('親,我可以帶你去湘江邊嗎?');

? ? ? ? break;

? ? ? }

? ? ? default: {

? ? ? ? console.log('我不喜歡男的~~~~');

? ? ? }

? ? }

? ? console.log('我是switch結(jié)構(gòu)后面的代碼~~~~');

? ? //2. 合理使用switch 穿透 ----------------------------------------------

? ? var usrYear, usrMonth, usrDay;

? ? usrYear = parseInt(prompt('請輸入年份:'));

? ? usrMonth = prompt('請輸入月份:'); // '1'

? ? //2.判斷是否為 大月

? ? // 【強調(diào)】switch 中的 判等 是? === ,又判斷 值,也判斷 類型

? ? switch (usrMonth) {

? ? ? case 1:

? ? ? case 3:

? ? ? case 5:

? ? ? case 7:

? ? ? case 8:

? ? ? case 10:

? ? ? case 12: {

? ? ? ? usrDay = 31;

? ? ? ? break;

? ? ? }

? ? ? case 4:

? ? ? case 6:

? ? ? case 9:

? ? ? case 11: {

? ? ? ? usrDay = 30;

? ? ? ? break;

? ? ? }

? ? ? case 2: {

? ? ? ? if (usrYear % 400 == 0 || (usrYear % 4 == 0 && usrYear % 100 != 0)) {

? ? ? ? ? usrDay = 29;

? ? ? ? } else {

? ? ? ? ? usrDay = 28;

? ? ? ? }

? ? ? }

? ? ? default: {

? ? ? ? alert('您輸入的月份有誤~~~可能您的身份不是地球人吧~~~');

? ? ? }

? ? }

? ? //5.如果 usrDay 已經(jīng)被賦值過了,就打印出來

? ? if (usrDay != undefined) {

? ? ? alert('【' + usrYear + '】年【' + usrMonth + '】月有【' + usrDay + '】天');

? ? }

05 if else? 和switch的應(yīng)用場景

//1.if else

? ? //? if 小擴號中 可以 有 兩種 代碼

? ? //? ? ? ? ? ? ? ? ? 第1種: 直接 寫 bool 值: true / false

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? if(true){? }

? ? //? ? ? ? ? ? ? ? ? 第2種:寫 最終能夠 返回 一個 bool值的: >? <? ==? ===? .....

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? &&? ||? !

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? if(1 > 2){? }

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? if(1 < 2 && 2 > 0 && 1 === 1){ }

? ? //? ? ? ? ? ? ? ? ? 第3中:隱式類型轉(zhuǎn)換 ---- 補充 了解

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? 0 -0 NaN '' null undefined 都會被 if 當(dāng)成 false

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 其他 都會被 if 當(dāng)成 true

? ? //2. switch case? 只有一種 代碼可以 寫在 switch中 : 變量 === 值1

? ? //? ? ? ? ? ? ? ? switch(變量){

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? case 值1:{

? ? //

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? //? ? ? ? ? ? ? ? }

06 while 循環(huán)

//1.循環(huán)語句

? ? //? 什么是循環(huán): 重復(fù)的做 一樣的事情!?。?/p>

? ? // console.log('班長在通過視頻學(xué)習(xí)~~~~');

? ? // console.log('班長在通過視頻學(xué)習(xí)~~~~');

? ? // console.log('班長在通過視頻學(xué)習(xí)~~~~');

? ? //? ? 循環(huán)的組成:? a.要循環(huán)執(zhí)行的代碼

? ? //? ? ? ? ? ? ? ? b.循環(huán)條件 變量

? ? //? ? ? ? ? ? ? ? c.循環(huán)條件 判斷? -- 需要 寫明 退出 循環(huán)的條件

? ? //? ? ? ? ? ? ? ? d.條件變量 的修改 -- 向 退出循環(huán)的條件 做 努力(滿足退出條件)

? ? //1.1 while 循環(huán) -----------------------------------------------------------------------------------

? ? // 語法: 當(dāng) while后面() 中 的布爾值 為 true,就執(zhí)行 { } 里的代碼,

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? false,就 結(jié)束 while 循環(huán),執(zhí)行 while循環(huán) 后面的代碼??!

? ? // while(bool){

? ? // }

? ? // 1.循環(huán)條件變量:要循環(huán)的次數(shù)

? ? var count = 1;

? ? // 2.? 循環(huán)條件

? ? while (count <= 3) { // count = 0 , 1 ,2 , 3

? ? ? //3.循環(huán)體代碼(需要重復(fù)做的事情)

? ? ? console.log('班長在通過視頻學(xué)習(xí)~~~~' + count);

? ? ? //4.修改循環(huán)條件 變量

? ? ? count += 1; // 相當(dāng)于 count = count + 1

? ? }

? ? console.log('循環(huán)結(jié)構(gòu)后面的代碼?。?!' + count);

07 do while循環(huán)

//2. do while 循環(huán)

? ? //? ? ? 會 先 將 循環(huán)代碼 執(zhí)行 一次,然后 再判斷 是否要 進行下一次循環(huán)

? ? //? 先斬后奏

? ? //案例:輸出 1 - 5 之間的和

? ? var num = 1; // 保存 循環(huán)次數(shù)

? ? var sum = 0; // 保存 和 --- 籮筐變量

? ? do {

? ? ? console.log('num = '+num);

? ? ? // num = 1,2,3,4,5

? ? ? sum += num; // 將 num 里的數(shù)值 累加到 sum變量中??!

? ? ? //sum = 1 + 2 + 3 + 4 + 5

? ? ? num += 1; // num = num + 1

? ? } while (num <= 5);

? ? console.log('sum = ' + sum);

08 while 和do while的案例

//while循環(huán) 案例 -----------------------------------------------------------------------

? ? //1.接收用戶輸入的年齡,要求必須是數(shù)值,如果不是,則提示重新輸入

? ? // var usrAge = parseInt(prompt('請輸入年齡:')); // parseInt 轉(zhuǎn)換數(shù)值時:如果 是 'aa' ,返回 NaN

? ? // isNaN(usrAge)? 如果 usrAge 是 非數(shù)值,就返回 true

? ? //? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)字化,就返回 false

? ? // while (isNaN(usrAge)) {

? ? //? alert('對不起,你這個大sb,年齡怎么會是非數(shù)值呢?請重新操作!');

? ? //? usrAge = parseInt(prompt('請輸入年齡:'));

? ? // }

? ? // alert('恭喜您,您的年齡為:【' + usrAge + '】');

? ? //do while循環(huán) 案例 -----------------------------------------------------------------------

? ? //2.接收用戶名和密碼,如果 等于 james? 和 123 的話,則顯示登陸成功~~~,如果 錯誤,就重新輸入。

? ? do{

? ? ? var usrName = prompt('請輸入用戶名:');

? ? ? var usrPwd = prompt('請輸入用戶密碼:');


? ? ? var isOk = usrName != 'james' || usrPwd != '123';

? ? ? if(isOk){

? ? ? ? alert('用戶名或密碼錯誤~~請重新輸入~!');

? ? ? }

? ? }while(isOk); // 如果 任意一個 不正確,都重新 輸入

? ? alert('恭喜您[' + usrName + ']~~登陸成功啦~~!');

10? for 循環(huán)?

// 循環(huán)的組成: a.要循環(huán)執(zhí)行的代碼

? ? //? ? ? ? ? ? ? ? b.循環(huán)條件 變量

? ? //? ? ? ? ? ? ? ? c.循環(huán)條件 判斷? -- 需要 寫明 退出 循環(huán)的條件

? ? //? ? ? ? ? ? ? ? d.條件變量 的修改 -- 向 退出循環(huán)的條件 做 努力(滿足退出條件)


? ? /*

? ? 循環(huán)步驟分解:

? ? for (步驟1.var i = 1; 步驟2.i <= 10; 步驟4.i += 1) {

? ? ? 步驟3.console.log('i = ' + i);

? ? }

? ? 執(zhí)行先后順序: 步驟1 步驟2 -> true,執(zhí)行 步驟3 步驟4

? ? ? ? ? ? ? ? ? ? 步驟2 -> true,執(zhí)行 步驟3 步驟4

? ? ? ? ? ? ? ? ? ? 步驟2 -> true,執(zhí)行 步驟3 步驟4

? ? ? ? ? ? ? ? ? ? 步驟2 -> false, 就退出整個循環(huán)


? ? */

? ? // 注意:一般循環(huán),都是 為 i? + 1,所以,可以 用 i++ 來代替 i+=1

? ? //? ? ? 但有時候,循環(huán)不是每次 +1 的,就需要用 i += 3,而不是 i++了

? ? for (var i = 1; i <= 3; i++) { // i+=1 -> 相當(dāng)于 i += 1? -> i = i + 1

? ? ? console.log('i = ' + i);

? ? }

? ? console.log('循環(huán)結(jié)束后:i =? ' + i);

11自增自減

//1. 復(fù)合賦值運算符

? ? ? //? ? +=? -=? *=? /=.....

? ? ? var a = 1;

? ? ? a += 12;// a = a + 12

? ? ? var i = 1;

? ? ? i+=1; // i = i + 1

? ? ? //2.自增自減

? ? ? //? 只能 對 自己這個變量 做 +1? 或 -1 的操作

? ? ? var b = 1;

? ? ? b++; // b+=1; -》 b = b + 1;

? ? ? console.log(b); // 2

? ? ? var c = 10;

? ? ? c--; // c-=1; -》 c = c - 1;

? ? ? console.log(c); // 9

12三個循環(huán)的應(yīng)用場景

//1. 一般 【根據(jù) 非次數(shù) 條件】 來循環(huán)的 ,就用 while 或 do while----------------------

? ? ? //1.1 while 是 先判斷 再循環(huán)

? ? ? // while(bool){ }

? ? ? //1.2 do while 是 先執(zhí)行一次,在判斷 要不要進行下一次循環(huán)

? ? ? //do{ }while(bool);

? ? ? //小提醒: while(bool);{} 中的 ; 不要加?。。。?/p>

? ? ? //? ? ? ? do{ }while(bool); 最后的; 用來表示 語句結(jié)束,要加?。?!


? ? ? //2.【根據(jù) 次數(shù) 條件】來循環(huán)的,就用 for循環(huán) ------------------------------------------

? ? ? // for(var i = 0; i < 10;i++){

? ? ? //? console.log(i);

? ? ? // }

13求最大值


//1.用 for 循環(huán) 求 1- 100 之間所有數(shù)的和

? ? var sumNum = 0; // 籮筐變量,用來存放 所有數(shù) 的和

? ? for (var i = 1; i <= 100; i++) {

? ? ? console.log('i = ' + i);

? ? ? sumNum += i; // 將 i 的值 累加到 變量 sumNum中

? ? }

? ? console.log(sumNum);

? ? //2.用 for 循環(huán) 求 1- 100 之間所有偶數(shù)的和

? ? var sumNum = 0; // 籮筐變量,用來存放 所有數(shù) 的和

? ? for (var i = 1; i <= 100; i++) {

? ? ? if (i % 2 == 0) {

? ? ? ? console.log('i = ' + i);

? ? ? ? sumNum += i; // 將 i 的值 累加到 變量 sumNum中

? ? ? }

? ? }

? ? console.log(sumNum);

? ? //3.用 for 循環(huán) 求 1- 100 之間所有奇數(shù)的和

? ? var sumNum = 0; // 籮筐變量,用來存放 所有數(shù) 的和

? ? for (var i = 1; i <= 100; i++) {

? ? ? if (i % 2 != 0) {

? ? ? ? console.log('i = ' + i);

? ? ? ? sumNum += i; // 將 i 的值 累加到 變量 sumNum中

? ? ? }

? ? }

? ? console.log(sumNum);

14求平均成績和總成績


//1.用戶輸入學(xué)生的人數(shù),然后依次輸入每一個學(xué)生的成績,輸入完畢后計算 平均成績 和 總成績

? ? /*

? ? 思路步驟:

? ? ? ? a.獲取 學(xué)員的總?cè)藬?shù) --> 10

? ? ? ? b.使用 for 循環(huán) 接收 每位學(xué)員的成績,并 累加到 “籮筐”變量中 -- 求 總成績

? ? ? ? c.求 平均成績

? ? */

? ? //1.總?cè)藬?shù)

? ? var stuNum = parseInt(prompt('請輸入學(xué)員總?cè)藬?shù):'));

? ? //2.循環(huán) 接收每位學(xué)員成績,并累加到 總成績變量中

? ? var scoreTotal = 0;


? ? for(var i = 1; i <= stuNum ; i++){

? ? ? //2.1 接收 一位學(xué)員 的成績

? ? ? var stuS = parseInt( prompt('請輸入第【' + i +? '】位學(xué)員的成績:') );

? ? ? //2.2 累加到 總成績中

? ? ? scoreTotal += stuS;

? ? }

? ? //3.求平均成績

? ? var avgScroe = scoreTotal / stuNum;

? ? alert('總?cè)藬?shù)【' + stuNum + '】,總成績【' + scoreTotal + '】,平均分【' + avgScroe + '】');

15退出循環(huán)break和continue

//循環(huán)退出: 在循環(huán)執(zhí)行的過程中,遇到特殊情況,可以 直接 退出循環(huán)?。。?或 退出 本次 循環(huán)?。?!

? ? ? //1.班長吃包子: 每天早上吃10個包子,第5個包子里 咬了一口后,發(fā)現(xiàn) 半只蟑螂?。?!

? ? ? //? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 扔掉第5個,繼續(xù)從 第6個開始吃~~~ 吃到第10個結(jié)束??!

? ? ? //2.班長 吃到 第 8個包子,發(fā)現(xiàn)已經(jīng)吃飽了,就不再吃后面的包子了(退出整個循環(huán)!?。。?/p>

? ? ? for(var i = 1; i <= 10; i++){

? ? ? ? console.log('我是班長,正在吃第【' + i +? '】個包子~~~');

? ? ? ? if(i == 5){

? ? ? ? ? console.log('我靠~~~~ 怎么有半只蟑螂呢??。?! 不吃了這個!!扔掉喂副班長~~!');

? ? ? ? ? continue;// 【退出 本次循環(huán)】:從 continue 處? 直接 調(diào)到 i++ 處運行?。?!

? ? ? ? }

? ? ? ? if(i==8){

? ? ? ? ? console.log('啊,吃的好飽啊~~~不吃了,再吃就拉了~~!');

? ? ? ? ? break;

? ? ? ? }

? ? ? ? console.log('真好吃啊~~~!');

? ? ? }

? ? ? console.log('嗯,吃飽了~~~可以回家睡覺了~~!');

16雙重循環(huán)嵌套

//1.使用 for循環(huán) 模擬 一周7天 上課的過程,每天 有 4節(jié)課~~~

? ? ? //a. 先模擬 天

? ? ? //b. 在模擬 每天里面的 4節(jié)課

? ? ? for(var day = 1 ; day <= 7; day++){

? ? ? ? console.log('啊~~~在傳智播客充滿激情的第【' + day + '】天開始了~~~');

? ? ? ? for(var classNo = 1; classNo <= 4; classNo++){

? ? ? ? ? console.log('哦~~~第【' + day + '】天的第【' + classNo + '】節(jié)課上課了~~~');

? ? ? ? }

? ? ? ? console.log('啊~~~在傳智播客充滿激情的第【' + day + '】天結(jié)束了~~~');

? ? ? }

17循環(huán)嵌套打印三角形

/*在頁面打印如下圖案,.一次只能打印一顆星星

? ? ? ? ? *

? ? ? ? ? * *

? ? ? ? ? * * *

? ? ? ? ? * * * *

? ? ? ? ? * * * * *

? ? ? */

? ? ? // console.log('*');

? ? ? // console.log('* *');

? ? ? // console.log('* * *');

? ? ? // console.log('* * * *');

? ? ? // console.log('* * * * *');

? ? ? //1.打印 五行,每行里 一個星星

? ? ? //2.每一行中 打印 和 行數(shù)相同 的 星星個數(shù)(列數(shù))

? ? ? var strStar = '';

? ? ? for(var row = 1 ; row <= 5; row++){

? ? ? ? //2.2 在 每一行 中 循環(huán)生成 星星

? ? ? ? for(var star = 1; star <= row; star++){

? ? ? ? ? strStar += '* ';

? ? ? ? }

? ? ? ? strStar += '\n';

? ? ? }

? ? ? console.log(strStar);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容