博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
闭包最常用的三种用法
阅读量:7062 次
发布时间:2019-06-28

本文共 885 字,大约阅读时间需要 2 分钟。

闭包的三种经典用法:

1. 通过在函数中创建函数,并返回来延迟作用域链的存在时间(掌握执行环境/作用域链/this/活动对象/arguments/全局对象概念的理解)

2. 模仿块级作用域 (javascript不存在块级作用域)          

for(var i=0;i<10;i++){  alert(i);}alert(i);  //10function outputNumbers(count){  (function(){    for(var i=0;i

3. 创建私有变量 

可以使用构造函数或原型模式来创建私有变量:

function person(name){  this.getname = function(){     return name;  };  this.setname = function(value){   name = value;  }; } var person1 = new person(‘pingzidong’); person1.setname(‘mm’); alert(person1.getname());

评价:不同的实例都需要创建特权方法,考虑使用原型模式创建私有变量,如下:

(function(){ var name = ‘’; Person =function(val){ //Person全局函数  name = val; };Person.prototype.getname = function(){  return name; };Person.prototype.setname =function(val){  name = val; } })();var person = new Person(‘pingzidong’);var person2 = new Person(‘mm’);person1.getname //mmperson2.getname //mm

评价:

name 被所有的实例所共享

转载于:https://www.cnblogs.com/pzdphp/p/5664628.html

你可能感兴趣的文章
python初学小结二:Import、字符串切片、列表的切片、enumerate()说明、字典、ptyhon-copy()与deepcopy()区别...
查看>>
shell脚本切割tomcat的日志文件
查看>>
HTML5 Video Player概览
查看>>
学会使用Git创建分支
查看>>
Spring可扩展的XML Schema机制
查看>>
学习笔记之曾国藩家书
查看>>
libSVM 参数选择
查看>>
UVA10976 Fractions Again?!
查看>>
express 获取本地文件夹下的图片和文件
查看>>
Spring Boot定时任务应用实践
查看>>
java OO学习后的感悟
查看>>
扫呗、通联微信后台配置支付授权目录流程
查看>>
OpenGL坐标系之间的转换 http://blog.csdn.net/sac761/article/details/52179585
查看>>
txt mining 1
查看>>
javascript Array 方法学习
查看>>
Java原子类--框架
查看>>
mysql-5.7.19免安装版的配置方法
查看>>
Spring IoC容器初始化过程学习
查看>>
后缀树
查看>>
OO第二次课程总结
查看>>