码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript 闭包环境很奇特 - 相当于类与实例的关系?!

时间:2014-06-26 08:12:06      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:des   android   style   class   blog   code   

JavaScript 闭包环境很奇特 - 相当于类与实例的关系?!

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。



又一个疑问贴!

不过我相信,问题并不是难在如何解决,最终就是个能解决与不能解决,这很容易!

但当你无法决断是否能否解决,与如何解决的时侯,这才是最让人纠结的事情。谁说不是呢?!

JavaScript 指南 - 闭包 

这篇转载,看了三遍了,好像没记住太多,不过有些明白了,闭包的含义,这当然得包括它的习性,要不怎么能算得上了解呢。

下面是一个更有意思的示例 — makeAdder 函数:

function makeAdder(x) {
  return function(y) {
    return x + y;
  };
}

var add5 = makeAdder(5);
var add10 = makeAdder(10);

print(add5(2));  // 7
print(add10(2)); // 12

在这个示例中,我们定义了 makeAdder(x) 函数:带有一个参数 x 并返回一个新的函数。返回的函数带有一个参数 y,并返回 x 和 y 的和。


是否可以这样理解,闭包中的函数或变量有被外部引用,这个闭包环境就一直存在着,以便其内部类或变量参与运算时,环境还在。

那么再或者,这个闭包是否可以当成是一个类呢?而其实例对象确是个看不到摸不着,确能随其成员的销毁而销毁的后台英雄呢,这就是闭包环境吧,也就是闭包相当于类,闭包环境相当于类的实例,拥有着一份独一无二,不随类存在的成员变量环境。


而且,闭包可以定义的同时执行,那必须在后面加上 (),这就是函数调用的那两个左右括号。

但到目前尚未找到我需要的部分,难道还有其它的执行方式?



JavaScript 闭包环境很奇特 - 相当于类与实例的关系?!,布布扣,bubuko.com

JavaScript 闭包环境很奇特 - 相当于类与实例的关系?!

标签:des   android   style   class   blog   code   

原文地址:http://blog.csdn.net/opengl_es/article/details/34533967

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!