js 设计中受 lisp 影响的有哪些?

2018-08-04 22:53:56 +08:00
 vevlins
1666 次点击
所在节点    前端开发
2 条回复
agagega
2018-08-05 00:48:47 +08:00
this 的 dynamic scoping 是受了一部分 lisp 方言的影响(逃
另外很多人吐槽类似

var arr = []
for (var i = 0; i < 5; i++) {
arr.push(function(){console.log(i)})
}
arr.forEach(function(fn){fn()})

结果输出 5 个 5 这样的设计。其实在 Python 和 Ruby 中也有这样的问题。不过如果换成类似 Ruby 中

arr = []
(0...5).each do |i|
arr.push(lambda { puts i })
end
arr.each(&:call)

就可以了。所以循环和闭包混用本来就容易出事(逃
lolizeppelin
2018-08-05 02:57:32 +08:00
erlang 就没事 貌似纯正的函数式编语言都没问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/476931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX