var str = "Out str"; function func(){ var str = "In str"; var foo = new Function("alert('"+str+"');"); str = "In str2"; return foo; } func()(); //输出:In str;
由于Function()构造器传入的参数全部都是字符串,因此不必要与函数局部变量建立引用,函数内变量无闭包引用,所以函数执行结束,函数所有资源释放。