【WEB学习】Day11 - JavaScript 的流程控制

【WEB学习】Day11 - JavaScript 的流程控制



一、分支结构

JS 的语法和 Java 比较像,if 语法结构如下:

if (条件表达式) {
	// 执行语句
}

if 根据条件表达式的返回值来决定是否执行后方大括号的代码,true 则执行,false 则不执行。
如果是 false,我们可以设定一个 else,让它去执行 else 后括号里的内容。

if (条件表达式) {
	// 执行语句1
} else {
	// 执行语句2
}

JS 也可以写多重分支:

if (条件表达式) {
	// 语句1;
} else if (条件表达式2) {
	// 语句2;
} else if (条件表达式3) {
	// 语句3;
} else {
	//最后的语句;
}

二、三元表达式

三元表达式也可以做一些简单的条件选择,有三元运算符组成的式子称为三元表达式。

条件表达式 ? 表达式1 : 表达式2

如果条件表达式为真,返回表达式1的值,如果条件表达式为假,返回表达式2的值。

var num = 10;
var result = num > 5 ? '是的' : '不是的';    
console.log(result) // 是的

注意,表达式都是有返回值的,三元表达式返回的就是表达式1或表达式2的返回值。

三、Switch 语句

switch语句就是多分支语句,针对变量一系列特定值的选项,可以用switch语句。

switch (表达式) {
	case value1:
		执行语句1;
		break;
	case value2:
		执行语句2;
		break;
	default:
		执行最后的语句;
}

例如:

var num = prompt('输入一个数字');
switch (num) {
	case 1:
		console.log('这是1');
		break;
	case 2:
		console.log('这是2');
		break;
	case 3:
		console.log('这是3');
		break;
	default:
		console.log('没有匹配结果');

四、循环

4.1 for 循环

for (初始化变量; 条件表达式; 操作表达式) {
		// 循环体
}

实例:

for (var i = 1; i <= 100; i++) {
	console.log(i);  // 打印1~100
}
var sum = 0;
for (var i = 1; i <= 100; i++) {
	sum += i;        
	console.log(sum);  // 计算等差数列,1加到100
}
//1. 求1-100之间所有数的平均值
var sum = 0;
var average = 0;
for (var i = 1; i <= 100; i++) {
	sum += i;
}
average = sum /100;
console.log(average);
//2. 求1-100之间所有偶数和奇数的和
var even = 0; //偶数
var odd = 0;  //奇数
for (var i = 1; i <= 100; i++) {
	if (i % 2 == 0) {
		even = even + i;
	} else {
		odd = odd + i;
	}
} 
console.log('奇数和为:' + odd +',偶数和为:' + even);
//3. 求1-100之间所有能被3整除的数字的和
var result = 0;
for (var i = 1; i <= 100; i++) {
	if (i % 3 == 0) {
		result = result + i;
	}
} 
console.log(result);
// 打印倒三角形星星
var m = prompt('输入行/列数');
var str = '';
 for (var i = m; i >= 0; i--) {
 		for(var j = 0; j <= i; j++) {
 			str = str + '⭐';
 		}
 		str += '\n';
 }
 console.log(str);

4.2 while 循环

while循环语法结构:

while (条件表达式) {
	// 执行语句
}

使用这个循环结构,需要自己写跳出条件表达式的方式,防止陷入死循环。例如:

while (i <= 100) {
	console.log('这个人今年' + i + '岁了');
	i++;
}

while 也可以实现无限循环,直到达到某种条件。

var message = prompt('你爱我吗?');
while (message != '我爱你') {
	message = prompt('你爱我吗?');
}
alert('是了,我也爱你!');

4.3 do while 循环

do … while 语句其实是 while 语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。

var i = 1;
do {
	console.log('how are you?');
	i++;
} while(i <= 100)

do … while 循环体至少执行一次代码块。

4.4 continune 关键字

continue 关键字用于立即跳出本次循环,继续下一次循环(本次循环体中 continue 之后的代码就会少执行一次)。

for (var i = 1; i <= 5; i++) {
	if (i == 3) {
		continue;
	}
	console.log('我正在吃第' + i + '个包子');
}

4.5 break 关键字

break 关键字用于立即结束循环。

for (var i = 1; i <= 5; i++) {
	if (i == 3) {
		break;
	}
	console.log('我正在吃第' + i + '个包子');
}

碰到 break,整个循环强行退出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值