That's not entirely a correct statement. The rule is:
You cannot capture variables outside of function scope when using the Function constructor. You can create closures, like this:
Code:
var myFunc = new Function("var a=0; return function () { return a; }");
Technically, this function creates a function that is a closure (it captures the variable "a").
Generally, it's considered poor practice to use the Function constructor to create new functions, though technically it's not wrong.
Nicholas C. Zakas
Author, Professional JavaScript for Web Developers (ISBN 0764579088)
http://www.nczonline.net/