何时使用lambdas,匿名函数和回调

时间:2017-12-29 14:54:40

标签: javascript jquery lambda callback anonymous-function

Lambdas,匿名函数和回调似乎是一个很棒的工具。我已经将它们与jquery一起使用,随着时间的推移,我会看到越来越多的语言为它们添加支持。

所有这一切,我仍然不知道编程社区何时更喜欢使用它们。在阅读有关c ++的内容时,似乎已经将lambdas用于替换仿函数。在jquery中,一切都是用这种技术完成的。

我能理解:

$("#exampleId").click(goToFunction());

$("#exampleId").click(function(){ .... code here ... });

这是有道理的,因为它是事件驱动的。因为它循环遍历jquery,看看是否设置了某种标志,说明id为exampleId的对象触发了点击。

然而,在查看$ .post()时会更加混乱。为什么jquery会这样做:

$.post("someurl.com", function(data){ .... use data in code here ...});

而不是(假装$ .post返回下面的伪代码):

myFunction($.post("someurl.com"));

function myFunction(data) { .... use data in code here...}

几乎看起来是$ .post(...,function(){});语法遵循$(object).click(function(){});语法为了一致性。我可以尊重这一点。

似乎区别在于“功能性”和“命令式”范式。

我想说面向对象在将所有东西封装成小的自包含部分方面表现优异。

势在必行是程序性的,善于将事物解释为像工厂一样的过程。

“功能性”在哪里有优势?它只是表达同一事物的一种不同方式,完全取决于程序员的偏好,还是我在这里看不到使用它至关重要的好处?

0 个答案:

没有答案