我在代码中看到了这种模式,并且我试图了解其背后的想法
foo : {
//some code here
console.log('1');
}
foo是一些html节点,console.log代表一些代码。我看到console.log总是执行,我认为没有理由使用这种模式而不只是直接编写console.log。
如果我在未定义的变量上使用它,你也可以看到它有效。
this_does_not_exists : {
console.log(2);
}
有人使用这种模式的原因是什么?
答案 0 :(得分:3)
这是一个label,与变量无关。这些通常仅在您希望while
或for
来自最内层的break
或continue
时处理时才有用。
来自MDN的示例:
loop1:
for (i = 0; i < 3; i++) { //The first for statement is labeled "loop1"
loop2:
for (j = 0; j < 3; j++) { //The second for statement is labeled "loop2"
if (i == 1 && j == 1) {
continue loop1;
}
console.log("i = " + i + ", j = " + j);
}
}
在这个例子中,代码是从内循环中continue
外循环。