关于闭包问题的详细介绍

零下一度
零下一度 原创
2017-06-26 10:52:27 1138浏览

面试的时候经常碰到关于闭包的问题

var name = "The Window";   
var object = {
    name : "My Object",   
    getNameFunc : function(){   return function(){   return this.name;   
        };   
    },

    getName:function(){
        alert(this.name);
    }   
};   
alert(object.getNameFunc()());  //The Window
object.getName();  //My Object

解决js函数闭包内存泄露问题的办法

function Cars(){
  this.name = "Benz";
  this.color = ["white","black"];
}
Cars.prototype.sayColor = function(){
  var outer = this.color; //保存一个副本到变量中
 return function(){ 
return outer//应用这个副本
};
outer = null; //释放内存
};
var instance = new Cars();
console.log(instance.sayColor()())

以上就是关于闭包问题的详细介绍的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。