javascript中label:{}这种写法常用吗?
js
var x, y; outer: for (x = 0; x < 10; ++x) { for (y = 0; y < 10; ++y) { if (checkSomething(x, y)) { break outer; } } }
弑神D小亞
10 years, 6 months ago
Answers
看样子 javascript 的这个语法和 java 差不多,可以参考下 《带标签的 break 和 continue (java)》 。
不过最好还是不要用标签,通过其它办法来实现你所需要的,比如拆分函数
javascript
function inner(x) { for (y = 0; y < 10; ++y) { if (checkSomething(x, y)) { return true } } return false } for (x = 0; x < 10; ++x) { if (inner(x)) { break } }
如果嵌套代码比较复杂,可以采用 throw
javascript
function inner(x) { for (y = 0; y < 10; ++y) { if (checkSomething(x, y)) { throw "done" } } } try { for (x = 0; x < 10; ++x) { inner(x) } } catch (e) { if (e !== "done") { throw e } }
腐腐腐腐腐
answered 10 years, 6 months ago