博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript学习--闭包
阅读量:7287 次
发布时间:2019-06-30

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

1、作用域链

JavaScript与很多程序设计语言不同,它不存在大括号级的作用域,但它有函数作用域,也就是说,在函数内定义的变量在函数外是不可见的

2、闭包在Getter和Setter的应用

var getValue, setValue;

(function (){

  var secret = 0;

  getValue = function(){

    return secret;

  };

  setValue = function(x){

    secret = x;

  };

})()

利用函数getValue, setValue来确保局部变量secret的不可直接访问性

3、闭包在迭代器中的使用

下面是一个接受数组输入的初始化函数,我们在其中定义了一个私有指针,该指针会始终指向数组中的下一个元素。

function setup(x){

  var i = 0;

  return function(){

    return x[i++];

  }

}

现在只需调用setup函数,就会创建出我们所需要的next()函数,具体如下:

var next = setup(['a', 'b', 'c', 'd']);

next(); // 'a'

next(); // 'b'

next(); // 'c'

next(); // 'd'

转载于:https://www.cnblogs.com/huimiaomiao/p/5828750.html

你可能感兴趣的文章
webx2.0-RundataService学习总结
查看>>
SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
查看>>
云计算培训论云计算下的网络安全及措施
查看>>
users表空间在线损坏(不通过RMAN恢复)
查看>>
我在51cto第一篇博客
查看>>
TCP三次握手 和四次挥手
查看>>
基于本地配置文件的vsftpd
查看>>
MFC 对话框添加背景图片
查看>>
javascript中的void运算符语法及使用介绍
查看>>
《从零开始学Swift》学习笔记(Day 18)——有几个分支语句?
查看>>
类-Class
查看>>
T-SQL 优化
查看>>
System Center2012综述
查看>>
zabbix proxy搭建及应用proxy监控腾讯CVM服务器
查看>>
面向对象
查看>>
SQL语法2
查看>>
grub应用
查看>>
test
查看>>
linux配置Yum源
查看>>
So what, So TM what?
查看>>