前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript基础之四——选择与循环结构

JavaScript基础之四——选择与循环结构

作者头像
珲少
发布2018-08-15 16:27:20
4900
发布2018-08-15 16:27:20
举报
文章被收录于专栏:一“技”之长

JavaScript基础之四——选择与循环结构

    选择结构与循环结构是编程中处理逻辑的核心结构,JavaScript中支持if-else和switch-case选择结构,支持for,for-in,do-while,while循环结构。并且可以使用break与continue语句进行循环的跳出,简单的条件选择if语句示例如下:

代码语言:javascript
复制
//if条件语句
if (true) {
	console.log("条件语句");
};
if (false) {

} else {
	console.log("if-else语句");
};
var a = 10;
if (a < 10) {
	console.log("a<10");
} else if (a == 10) {
	console.log("a=10");
} else {
	console.log("a>10");
};

switch-case选择结构用于多分支条件的选择,示例如下:

代码语言:javascript
复制
//选择语句
var b = "hi";
switch (b) {
	case "hello":
		{
			console.log("Hello world");
		}
		break;
	case "hi":
		{
			console.log("Hi world");
		}
		break;
	default:
		{
			console.log("都没匹配上");
		}
}

需要注意,每个case结构后面原则上都需要使用break进行中断匹配,如果不添加此break,则匹配到一个case语句后switch结构并不会结束,会继续尝试匹配后面的case条件。

    for循环结构用于处理大量重复的逻辑,示例如下:

代码语言:javascript
复制
for (var i = 0; i < 10; i++) {
	console.log("循环" + i);
}
for (var i = 0; i < 10; i++) {
	console.log("循环" + i);
	if (i == 2) {
        //使用break可以提前中断循环
		break;
	};
}

JavaScript还有一种更高效的循环模式,for-in结构,这种结构专门用来遍历对象,其可以将对象的属性遍历出来,示例如下:

代码语言:javascript
复制
var obj1 = {
	name: "jaki",
	age: 25
};
var obj2 = [1, 2, 3, 4, 5, 6, 7, 8];
for (var x in obj1) {
    //跳过本次循环 并不是跳出循环
	if (x == "name") continue;
	console.log(x + ":" + obj1[x]);

}
for (var x in obj2) {
	console.log(x + ":" + obj2[x]);

}

需要注意,对于数组,其遍历出来的是数组的下标,并不是其中的值,这和C/OC,Swift等语言有所差异,也证明了数组在JavaScript中其实就是一种特殊的对象。

    while循环和do-while循环的差异在于whlie结构是先进行循环条件的判断,再进入循环体,而do-while结构则是先进入循环体,在进行循环条件的判断,示例如下:

代码语言:javascript
复制
var c = 1;
while (c < 10) {
	console.log(c);
	c++;
}
do {
	console.log(c);
	c--;
} while (c > 1);

    前面提到过break和continue语句,break语句用于中断switch-case匹配或者跳出最近的循环,跳出循环的意思是指执行到break后,无论后面循环次数还有多少次,直接跳出,执行循环结构之后的代码。continue语句的作用则是跳出最近的本次循环,接着进行循环条件的判断,如果满足会继续进行循环,并且如果有多层循环嵌套,break和continue也可以通过label标签指定具体跳出那层循环,示例如下:

代码语言:javascript
复制
LAB: for (var i = 0; i < 5; i++) {
	for (var j = 0; j < 5; j++) {
		if (j == 2) {
			break LAB
		};
		console.log(i + '==' + j);
	};
};

上面的代码,如果不使用LAB标签,则外层循环不会被中断。

前端学习新人,有志同道合的朋友,欢迎交流与指导,QQ群:541458536

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/12/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript基础之四——选择与循环结构
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档