20200304
Plan
你不知道的 js
Notes
continue
{
foo: for (var i = 0; i < 4; i++) {
for (var j = 0; j < 4; j++) {
if (j === i) {
continue foo;
}
if ((j * i) % 2 === 1) {
continue;
}
console.log(i, j);
}
}
}
// 1 0
// 2 0
// 2 1
// 3 0
// 3 2
这两次的 continue 的区别在于,第一个 continue 跳转到了 第一个 for 循环。第二个 continue 跳转到了第二个 for 循环。
执行顺序:
- i = 0, j = 0, 第一个 continue -- continue foo,直接到第一个 for 循环,i++。
- i = 1, j = 0, i * j 为奇数,到第二个 continue,跳过下面的 console.log,j++。
- ...
break
continue 会继续执行循环,break 可以跳出循环, break xxx 可跳出外层循环。
{
foo: for (var i = 0; i < 4; i++) {
for (var j = 0; j < 4; j++) {
if ((j * i) % 2 === 1) {
// continue;
break foo;
}
console.log(i, j);
}
}
}
// 0 0
// 0 1
// 0 2
// 0 3
// 1 0
// 下一步是 1和1 跳出循环
JSON
- json 中的 key 必须是双引号。在 js 文件中,一个 json 其实会被处理成一个对象。但是在 JSON 文件中,必须使用双引号来包裹 key。
&& 和 || 的优先级
- && 优先级更高
true || (false && false); // true
- 短路 -- 如果从左边能得出结果,就忽略右边的操作数。
- || 的优先级高于 :?
- :? 是右关联
- = 右关联