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()构造器传入的参数全部都是字符串,因此不必要与函数局部变量建立引用,函数内变量无闭包引用,所以函数执行结束,函数所有资源释放。
本文共 338 字,大约阅读时间需要 1 分钟。
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()构造器传入的参数全部都是字符串,因此不必要与函数局部变量建立引用,函数内变量无闭包引用,所以函数执行结束,函数所有资源释放。
转载于:https://www.cnblogs.com/you000/archive/2013/01/10/2855571.html