首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Javascript作为函数式语言

Javascript作为函数式语言
EN

Stack Overflow用户
提问于 2008-09-28 02:41:51
回答 6查看 18.1K关注 0票数 61

我希望掌握函数式编程的概念。

我多年来一直使用Javascript在web应用程序中编写客户端脚本,除了使用原型之外,它还包括简单的DOM操作、输入验证等。

最近,我有often read说Javascript是支持函数式编程的语言之一。

以我对Javascript的熟悉和经验,我更喜欢用它来学习函数式编程。我希望我能够更专注于主要的函数概念,而不会被一种全新的语法所困扰或分心。

因此,总而言之,Javascript是学习函数式编程概念的好选择吗?Javascript中的哪些功能是相关的/支持函数式编程?

EN

回答 6

Stack Overflow用户

发布于 2008-09-28 02:49:44

虽然javascript在某种程度上支持FP,但它并不直接鼓励它。这就是为什么像Oliver Steele's Functional这样的项目存在,以填补空白。所以我不推荐用它来学习FP。相反,请查看F#。

票数 6
EN

Stack Overflow用户

发布于 2008-09-28 03:05:06

我想说的是,尽管您可以通过JavaScript快速掌握一些函数式编程概念,但像使用函数式编程语言一样一致地使用JavaScript并不是一种常见的做法。至少不是很常见。大多数人不会发布关于如何使用JavaScript进行函数式编程的教程-- marxidad指出的那个例子实际上是一个相当不错的例子,但你不会发现很多这样的例子。功能方面通常并不明显,就像人们在JavaScript中使用闭包时一样,但没有意识到他们正在这样做。

将两个函数作为参数传递给第三个函数,然后让返回值成为与前两个函数相关的执行,这种想法是一种高级技术,几乎只出现在像jQuery这样的成熟库的核心中。自执行匿名函数等已经取得了进展,但仍然没有得到一致的使用。大多数教程通常关注JavaScript的面向对象功能,比如如何创建属性和方法、作用域、访问控制以及如何使用构造函数的prototype属性。老实说,如果函数式编程是你想要的,那么我会选择一种严格以这种能力著称的语言。

票数 6
EN

Stack Overflow用户

发布于 2008-09-29 19:31:44

我不记得是谁说的了,但是javascript被称为“Algol语法的方案”。所以对于学习Scheme/Lisp来说,Javascript是一个不错的开始。注意,像Lisp这样的函数式语言与Haskell这样的纯函数式语言有很大的不同。

除了“一流函数”(意思是函数是值,可以赋值给变量)之外,词法作用域也是函数式语言的固有部分。

前面已经提到过Higher Order JavascriptThe Little Javascripter。它们都是优秀的文本。此外,Higher Order Programming in Javascript可能是一个更容易的开始。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/145053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档