JavaScript面向对象之闭包的理解

首先了解一下什么是闭包,闭包是一个函数,通常被称为闭包函数或者绑定函数,该函数运行在一个特殊的环境里,该环境定义了一些本地变量,当该函数被调用时,仍可以使用这些本地变量。

当一个函数在不位于它所处的环境(变量作用范围)中被调用,仍能够使用本地变量,这是闭包的显著地特征。

一般来说,作为参数传递给函数的函数或作为值从函数返回的函数都是闭包函数。

例1.

function B(){

  var tempData = "这是一个本地变量";

  function A(){

    alert("闭包函数处理本地变量tempData的值"+tempData);

  };

  return A;//返回闭包函数

};

var myTest = B();

myTest();//调用闭包函数

例2.

var A;

function B(){

  var tempData = "这是一个本地变量";

  A =function(){

    alert("闭包函数处理本地变量tempData的值"+tempData);

  };

};

B();

A();先调用B赋值A 在执行A 就实现闭包调用;

原文地址:https://www.cnblogs.com/ChineseLiao/p/7833403.html