js闭包

来源:互联网 发布:淘宝店铺加入农村淘宝 编辑:程序博客网 时间:2024/06/03 22:35

1.概念

闭包是指有权访问另一个函数作用域中的变量的函数。

闭包在《JavaScript高级程序设计》中这样说的。也就是说当一个函数可以访问他的外部变量,那么它就是一个闭包。

2.创建闭包的常见方式

在一个函数内部创建另一个函数。举个例子。

function createComparisonFunction(propertyName){  return function(object1, object2){    //内部匿名函数访问了外部的propertyName;    //能够访问是因为内部函数的作用域链中包含createComparisionFunction()的作用域;    var value1 = object1[propertyName];    var value2 = object2[propertyName];      if(value1 < value2){        return -1;      }else if(value1 > value2){        return 1;      }else {        return 0;      }  };}
原创粉丝点击