程序员的纹身

来源:互联网 发布:网狐6603游戏引擎源码 编辑:程序博客网 时间:2024/04/27 16:33
在每天工作中、生活中都努力追求的一种什么样价值和态度的代码。

(function (){var k=[];return function j (){k.push (i);j();}})()();

这种代码结构被称作闭包(closure)。如果你不知道闭包是什么,这里有个资料你可以阅读一下:什么是闭包。简单说:它是一个能返回另一个函数的函数。被返回的函数里可以访问到其父函数的有效变量访问范围内的所有变量——就像是面向对象语言,例如C#或Java,里的私有内部类。我决定采用这种结构体有两个原因:首先,我感觉这个东西非常的漂亮,第二,我希望这种编码方式能被更多的接受、更多的使用。

(function (){var k=[];return function j (){k.push (i);j();}})()();

这个数组k代表知识和经验。

(function (){var k=[];return function j (){k.push (i);j();}})()();

闭包返回的函数 j 是递归调用的。这用来提醒我,我需要保持我的动力和干劲——我应该不断的追求。

(function (){var k=[];return function j (){k.push (i);j();}})()();

每一次的调用,函数j就会把全局变量i里的内容添加到内部的数组k里。眼尖的人会发现,这段代码没有做异常检查,如果变量i没有定义,这段代码会报错,递归函数j将运行不下去。这是故意的。变量i表示来自其他人的输入,我要提醒自己,应该不断的向周围的人寻求建议和忠告。我知道我不能在与世隔绝中成长,因此,不从他人那里收集经验将会带来灾难的后果。正如我上面提到的,数组k表示知识和经验,这部分代码还让我记住,我要不断的从获得的输入信息中学到东西。这并不是说我必须要接受和采纳所有收到的建议,我需要的是从中学到东西。即使不可用的建议也能让我们从忠告者身上学到很多事情。

(function (){var k=[];return function j (){k.push (i);j();}})()();

闭包和返回的函数j都是自我调用的。这表示,代码会自我驱动运行:函数并不一定需要别人来驱动。这是在提醒我,在工作和生活中,我应该主动行动,不要依赖由外界压力的影响才去做新的事情。

转载自: http://sd.csdn.net/a/20111010/305426.html
原创粉丝点击