js闭包使用及建议

原创 2016年08月30日 08:51:25

js的闭包核心问题就是变量的作用域,在一个闭包(一个函数)内部作用域与外部作用的关连问题。举个例子

var i = 6;
var test = function(){
    var i = 5;
    return i;
}

以上的test相对外部来讲就是一个闭包了,这个闭包里面的变量i在自己的作用域范围。这里的返回值是5;
再来一个例子

var i = 6;
var test = function(){
    var i = 5;
    return function(){
        var i = 9;
        return i;
    }
}

test函数中又有一个返回值的闭包,这个里面的值是9,相信大家都已经看出来了,闭包{}内的作用域是不受外面影响的。如果是传值的话则返回传入的参数,在闭包中很好的保护起来。

var test = function(){
    var i = 5;
    var handle = setTimeout(function(){
        return i;
    }, 1000);
}

建议不要深度的使用闭包,那样的代码非常难以维护以及理解。

版权声明:本文为博主原创文章,未经博主允许不得转载。

js闭包实例

  • 2016年12月17日 17:17
  • 84KB
  • 下载

js闭包写法学习demo

  • 2014年12月11日 18:06
  • 4KB
  • 下载

使用模块化编程库和闭包使后台JS更加规范

1、问题及方案后台js代码规范度不好,怎么写的都有,不易维护、复用度低,我们不期全部使用backbone做到前端MVC,但使用模块化编程库做到模块化开发还是简单而有意义的。2、为什么要模块化时至今日,...

js闭包理解之倒计时

  • 2014年07月11日 15:07
  • 587B
  • 下载

什么是js闭包

  • 2013年08月28日 17:03
  • 122KB
  • 下载

js 使用闭包封装数据

像c++/java等高级语言都提供了 private 关键字使得数据的访问私有化,但是js并没有提供这一功能,如何实现呢?我们可以使用闭包模拟实现。   function Student(par...

js闭包详解

  • 2014年07月16日 23:25
  • 1KB
  • 下载

建议38:小心闭包中的陷阱

建议38:小心闭包中的陷阱 先看一下下面的代码,设想一下输出的是什么? static void Main(string[] args) { ...
  • houwc
  • houwc
  • 2016年09月01日 15:52
  • 358
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js闭包使用及建议
举报原因:
原因补充:

(最多只允许输入30个字)