This seems to be a type of a guard. See: http://en.wikipedia.org/wiki/Guard_(computer_science)
In computer programming, a guard is a boolean expression that must evaluate to true if the program execution is to continue in the branch in question.
In your case, i < 50 is the guard on the loop, preventing it from executing if i is too large.
I think a guard would usually be written as:
if (len< MAX_VALUE) { for (var i = 0; i < len; i++) { do_stuff(); } } //optional else-clause to warn when guard-condition is violated. //else // ERROR("Value for i is too big!!");
This form would allow you to write an else clause (where you could warn the user about invalid value of i, perhaps). Your compact form, where you include it in the loop condition doesn't allow for an else, but maybe you don't want one.
As some commenters have also noted, your loop will still execute up to 50 iterations, even if len is larger than 50. Using a traditional if..else guard as written above will not allow you to do this, so it's not equivalent with your code (which also checks the guard condition on each iteration).
ifstatement, or at least separated by anelseclause?else.