前端开发 Js中标签的使用

前端开发需要掌握哪些技术|前端可以开发软件吗

JavaScript 中的标签就是一个标识符,它可以与变量重名而互不影响。它是另一种独立的语法元素(既不是变量,也不是类型),作用是指示“标签化语句(labeled statement)”。
标签的声明很简单:一个标识符后面跟一个冒号“:”。你可以在任何一个语句前面加上这样的标签,以使得该语句被“标签化(labeled)”。
例如: this_is_a_label: myFunc();
除了单一的语句之外,标签也可以作用于由大括号表示的一批语句。
例如: label_statements: { var i = 1; while (i < 10) i++; }
但是标签不能作用于注释语句。因此在下例中,标签实际作用后注释语句后面的一个语句(即 if 条件语句):
my_label_2: / hello, world; / if (true) { alert(‘hello, is a test!’); }
标签表示一个具有“语句块”含义的范围,和js中的函数作用域不同。这个语句块的范围是指单一语句的开始到结束位置(分号或回车),或者成批语句的开始到结束位置(一对大括号)。
在 JavaScript 中,标签只能被 break 语句与 continue 语句所引用。前者表明停止语句执行,并跳转到break的所指示的范围之外;后者表明停止当前循环,并跳转到continue所指示的范围的开始。

阿里前端开发实习面试

终上所述,标签一般和break、continue结合一起使用,这样可以返回到标签定义所在的位置,让程序继续执行。下面的例子,通过标签直接跳出多层循环:
通过 break 语句:
var num = 0;
my_lable:
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
if (i === 5 && j === 5) {
break my_lable;
}
num++;
}
}
console.log(num); // 控制台输出55。当i和j都为5时,通过break my_lable 跳出了双循环,程序返回到my_lable从标签外面继续执行,输出55。
通过 continue 语句:
var num = 0;
my_lable:
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
if (i === 5 && j === 5) {
continue my_lable;
}
num++;
}
}
console.log(num); // 控制台输出95。当i和j都为5时,通过continue my_lable 跳出了当前循环体,并继续到标签指示处开始执行,最后循环结束输出95。
使用continue要注意的就是不能在标签后面加{},例如my_lable:{ for (var i=0;i<10;i++) {} }运行会报错,因为continue不允许跳转到“当前循环/外层循环语句的起始”之外的其它任何地方。

前端开发视频教学|前端开发工具 gulp

» 本文来自:前端开发者 » 《前端开发 Js中标签的使用》
» 本文链接地址:https://www.rokub.com/5311.html
» 您也可以订阅本站:https://www.rokub.com
赞(0)
64K

评论 抢沙发

评论前必须登录!