Просто замените условные числа числами, и вы увидите, как это работает.
На изображении выше узел находится в строке 4 и столбце 4 (на основе 0), и давайте возьмем test_node для строки 2, а затем
if (test_node.row < node.row - 1 || test_node.row > node.row + 1)
переводится в
if (2 < 3 || 2 > 5 ) continue
продолжить означает «пропустить оставшуюся часть этой итерации и начать следующую»
, так что теперь возьмите test_node для строки 3 и столбца 3
if ( 3 < 3 || 3 > 5 ) continue
if ( 3 < 3 || 3 > 5 ) continue
все 4 условия являются ложными, поэтому он добавляет его вround_nodes
- РЕДАКТИРОВАТЬ -
Кстати, если вы пометите свой цикл, будет более разборчиво, что происходит
iterateNodes : for(var i:uint = 0;i < nodes.length; i++){
test_node = this.nodes[i];
if (test_node.row < node.row - 1 || test_node.row > node.row + 1) continue iterateNodes;
if (test_node.column < node.column - 1 || test_node.column > node.column + 1) continue iterateNodes;
surrounding_nodes.push(test_node);
}