У крокфорда в good parts есть утверждение, что Function — это, почти то же самое что eval. Я копаюсь уже битый час, и не могу понять вообще, что у них общего. Насколько я понял, Function сразу компилируется в обычную анонимную ф-цию. И в дальнейшем, она ведет себя как обычная ф-ция, даже с сохранением лексического скопа в замыканиях.
fu=Function("var a=1; return function(){return(a)}")
console.log(""+fu)
//
//out:
//function anonymous() {
//var a=1; return function(){return (a)}
//}
inner_fu=fu()
console.log(inner_fu())
//out:
//1