V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vevlins
V2EX  ›  前端开发

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

  •  
  •   vevlins · 2018-08-04 22:53:56 +08:00 · 1654 次点击
    这是一个创建于 2312 天前的主题,其中的信息可能已经有所发展或是发生改变。
    2 条回复    2018-08-05 02:57:32 +08:00
    agagega
        1
    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
        2
    lolizeppelin  
       2018-08-05 02:57:32 +08:00 via Android
    erlang 就没事 貌似纯正的函数式编语言都没问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1273 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:59 · PVG 01:59 · LAX 09:59 · JFK 12:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.