How so? The jump function has access to the entire script source code via parameter $0. It finds whatever label is referenced, and trims the script from there, executing it. This looks like it will jump backwards and forwards. Unfortunately, it chews up stack and memory with each jump, so a loop with many iterations is a bad idea.
That's OK. It's often regarded as bad practice to use variables and functions before they're declared in scope, and clearly that's what the author was after :)
Isn't this kind of the opposite of that? You're jumping to a position further in the code, to a "variable" that hasn't been defined yet.