JS基础(4)

流程控制 主要分为 顺序 选择 循环

顺序结构 从上向下进行

选择结构 根据条件决定执行那一段代码

循环结构 在给定条件成立情况反复执行一段代码  要设置退出机制

//选择结构  if

//如果条件表达式为真 则执行语句块1 否则不执行

/*var age = 20;

if (age > 18) {

console.log("可以上网");

}

//如果条件表达式为真 则执行语句块1 否则 执行语句块2

var age = 3;

if (age > 18) {

console.log("可以上网");

}else{

console.log("不能上网");

}

//多条件语句块  如果都不为真 则执行最后一个else

var age1 = 50

if (age1 > 30) {

console.log("中年人");

}else if (age1 >20 && age1 <30) {

console.log("青年人");

}else{

console.log("小孩纸");

}*/

//if语句 注意点

//1.if()后只管后面一句 记得加大括号

//2.分号“;”也是一个语句  所以 if();不对吼

//3.if 和 else 是一个整体 else 匹配 if时匹配离他最近的if

/*if(0)

if(1){

console.log("A");

}else{

console.log("B");

}else{

if(1){

console.log("C");

}else{

console.log("D");

}

}          */              //输出C

//4.对于非Boolean类型 先转为布尔型在判断

//if(1)  即为 if(true)

//判断变量与字面量的问题

// a = 0 是赋值  a == 0才是判断 要时刻牢记

// 所以我们可以写成 0 == a 因为 变量必须在左边 所以 如果写成 0 = a 就会提醒报错

//if语句可以嵌套使用

/*var num = 20;

if (num >= 10) {

if(num <= 30){

console.log("条件满足");

}

}

//另一种写法

if(num >= 10 && num <=30){

console.log("条件满足");

}*/

/*//SWITCH 语句

switch(条件表达式){

case 表达式1:

语句1;

break;

case 表达式2:

语句2;

break;

case 表达式n:

语句n;

break;

default:

语句n+1;

break;

}

*/

//计算条件表达式的值  然后与case中比较

//当条件表达式 与某一语句全等时 === 执行该语句

//都不等 则执行default中语句

/*var number =4;

switch(number){

case 1:

console.log('壹');

break;

case 2:

console.log('贰');

break;

case 3:

console.log('叁')

break;

default:

console.log("其他数字");

break;

}*/

//注意事项

//case 全等于问题

/* var str = "123";

switch(str){

case 123:

console.log("true");

break;

case "123":

console.log("false");

break;

default:

console.log("failed");

}*/

// case 后既可以是字面量 也可以是变量 也可以是表达式

/* var str = "123";

switch(str){

case 123:

console.log("true");

break;

case str:

console.log("false");

break;

default:

console.log("failed");

}*/

//表达式判断问题

//case 后也可以是表达式

/*var str = 123;

switch(100+23){

case 100+20+3:

console.log("true");

break;

case str:

console.log("false");

break;

default:

console.log("failed");

}*/

//case穿透问题

//case只匹配一次

//最后加上break; 否则会继续执行下面的语句

/*var number = 1;

switch(number){

case 1:

console.log('壹');

case 2:

console.log('贰');

case 3:

console.log('叁')

default:

console.log("其他数字");

break;

}*/

//default可以省略  可以写到任何位置

/*var number =4;

switch(number){

case 1:

console.log('壹');

break;

case 2:

console.log('贰');

break;

}*/

/*var number =4;

switch(number){

case 1:

console.log('壹');

break;

default:

console.log("其他数字");

break;

case 2:

console.log('贰');

break;

}

*/

//if 与 switch 中的抉择

//当分支很多而且不能穷尽的时候 用if

//数据量不是很大 并且数据是固定的 那么可以用switch

//理论上switch效率更高

//switch上存在的弊端: 比如 判断用户输入数字是否大于100

//循环语句

//while循环

//格式

/* while(条件表达式){

语句1;

语句2;

……语句n

      }*/

//只要条件表达式一直为真 就一直循环

//爱你三千遍

/*var num = 0;

while(num < 3000){

num++;

console.log("爱你"+ num +"遍\n");

}*/

//构成循环结构的条件:

// 循环控制条件(条件表达式)  控制什么时候退出循环

// 循环体{}内的内容    重复执行的代码段

// 循环结束语句(递增,递减,break等)  就是能够让循环条件变假的依据 使退出循环

// while循环注意点

//      一、死循环  while(true){}  循环永远执行

//      二、任何值都有真假性 转为Boolean型在判断 while(1)就是 while(true)

//      三、分号问题 分号也为语句。  while(1);{}整段垮掉

//break 和 continue 的使用

//跳出switch 有用到

//跳出循环

/* while("健身"){

console.log("跑步");

if ("腿抽筋了") {

break;

}

console.log("有氧");

console.log("无氧");

}*/

/*var num = 0;

while(true){

console.log(num);

if (num === 3) {

break;

}

num++;

}*/

//break只在循环语句和switch语句中有意义

//在多层循环中 一个break语句只向外跳一层

/*while(1){

while(2){

console.log("hello");

break;//跳出while(2) 但是仍然在while(1)中

}

console.log("goodbye");

}*/

//break后的语句不会执行

/*while(1){

alert("goodbye");

break;

alert("hello");

}*/

/* while("健身"){

console.log("跑步");

if ("腿抽筋好了") {

continue;

}

console.log("有氧");

console.log("无氧");

}*/

//continue  跳过当前循环体中的剩余语句 开始下一次的循环

/*var num = 0;

while(num < 10){

num++;

if(num % 2 ===0){

continue;

}

console.log(num);

}//会输出 1 3 5 7 9*/

//输出10以内3的倍数

/*var num = 0;

while(num <= 10){

num++;

if(num % 3 !== 0){

continue;

}

console.log(num);

}*/

//do while语句

//格式

// do{

// 语句1;

// 语句2;

// ……

// 语句n

// }while(条件); 

// 首先会执行一次循环体中的语句

// 在判断条件表达式为真 真的话再次循环

// 重复直到条件表达式为 false

/*var num = 10;

do{

console.log("hello");

}while(num > 10);*/

//特点 不管条件是否成立总运行一次

//应用场景  口令校验

//for循环

//for循环运用最为灵活  不仅可以用于循环次数确定的  而且也可以用于循环次数不确定 只给出循环结束条件的情况

//格式

/*for(①初始化表达式;②循环条件表达式;④循环后操作表达式)

{

③执行语句;

}*/

//for循环执行流程

// 开始的时候  先执行初始化表达式  整个循环中只执行一次

// 然后判断循环条件表达式是否为真 为真可是循环

// 循环体执行结束 执行循环化操作表达式

// 再次判断循环条件表达式是否为真 真开始新的循环

// 重复上述过程 直到条件不成立

//爱你三千遍

/*for (var i = 1; i <= 3000; i++) {

console.log("爱你"+i+"遍\n");

}

*/

//for 和 while 的抉择

//一般可以互换  如果循环完毕之后不需要使用用于控制循环的增量 那么for更好

// 循环次数不固定时

//for注意事项

// 可以for( ; ; ){} 三个表达式可以不写  相当于 while(1)    其他注意点 跟while差不多

//用for打印好友列表

/*  好友列表1

好友1

好友2

好友3

好友列表2

好友1

好友2

好友3*/

/* for (var i =  1; i <= 2; i++) {

console.log("好友列表" + i);

for (var j =  1; j <= 3; j++) {

console.log(" 好友" + j);

}

}

*/

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,194评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,058评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,780评论 0 346
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,388评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,430评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,764评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,907评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,679评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,122评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,459评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,605评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,270评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,867评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,734评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,961评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,297评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,472评论 2 348

推荐阅读更多精彩内容

  • 17js流程控制switch <!DOCTYPE html> 17js流程控制switch //js流程控制swi...
    ouyangqinbin阅读 263评论 0 0
  • 一、简单了解和基础知识 1.js引入方式 第一种:直接在body标签下面引入js文件或者直接在下面写js代码; 第...
    空谷悠阅读 456评论 0 2
  • 1.语句js程序的执行单位为行line,也就是一行一行的执行,一般情况下,每一行就是一个语句。语句(stateme...
    饥人谷_小霾阅读 499评论 0 1
  • JavaScript介绍 JavaScript是一种运行在客户端 的脚本语言 JavaScript的解释器被称为J...
    隔壁老樊啊阅读 2,825评论 0 1
  • 1、标识符 标识符是指变量、函数、属性的名字,或函数的参数。 格式规则: 第一个字符必须是一个字母、下划线(_)或...
    风中丶凌乱阅读 1,622评论 0 0