javascript 避免产生闭包的方法

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()构造器传入的参数全部都是字符串,因此不必要与函数局部变量建立引用,函数内变量无闭包引用,所以函数执行结束,函数所有资源释放。

posted @ 2013-01-10 22:33  csdnbbs  阅读(454)  评论(0编辑  收藏  举报