foo: for (var i=0; i< 5; i++) { for (var j=0; j<5; j++) { if ( i == j ) { // 跳到 foo 的下一个循环 // 注意并不是跳到 foo 所在位置继续执行,而是执行 foo 的下一轮循环。 continue foo; } // 跳过奇数结果 if ( !!(j % 2) ) { // 继续内层循环 continue; } console.log( i, j ); } } foo: for (var i=0; i<4; i++) { for (var j=0; j<4; j++) { if ((i*j) >= 2) { // console.log( 'stopping!', i, j); // 跳出标签 foo 所在的循环/代码块,继续执行后面的代码 break foo; } console.log('inner:', i, j); } } console.log('跳出 foo:', i, j); // 标签也能用于非循环代码块,但只有 break 才可以! function foo() { baz: { console.log('this is a 空代码块。') } bar: { console.log('Hello'); break bar; console.log('never runs'); } console.log('World'); } foo(); QUESTION: [] + {}; // 值为? {} + []; // 值为? ANSWER: // 出现在+运算符后,被当做一个值(空对象) [] + {}; // "[object Object]" // 被当做空代码块 {} + []; // 0
作者:狂流
出处:http://www.cnblogs.com/kuangliu/
欢迎转载,分享快乐! 如果觉得这篇文章对你有用,请抖抖小手,推荐一下!