闭包

2017-09-27  本文已影响0人  洋葱大大
  1. 概念
    闭包就是能够读取其他函数内部变量的函数。
  2. 如何从外部获取函数的内部的变量?
function f1(){
    var n=999;
    function f2(){
      alert(n); 
    }
    return f2;
  }
  var result=f1();
  result(); // 999

把内部函数做为返回值。

  1. 闭包的用途。
    1 .读取函数内部的变量。
    2 .让内部函数的变量始终保存在内存中。
  1. 两个例子
var name = "The Window";
  var object = {
    name : "My Object",
    getNameFunc : function(){
      return function(){
        return this.name;
      };
    }
  };
  alert(object.getNameFunc()()); //The Window
var name = "The Window";
  var object = {
    name : "My Object",
    getNameFunc : function(){
      var that = this;
      return function(){
        return that.name;
      };
    }
  };
  alert(object.getNameFunc()());
上一篇 下一篇

猜你喜欢

热点阅读