vevlins

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

  •  
  •   vevlins · Aug 4, 2018 · 1993 views
    This topic created in 2837 days ago, the information mentioned may be changed or developed.
    2 replies    2018-08-05 02:57:32 +08:00
    agagega
        1
    agagega  
       Aug 5, 2018
    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  
       Aug 5, 2018 via Android
    erlang 就没事 貌似纯正的函数式编语言都没问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5291 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 03:58 · PVG 11:58 · LAX 20:58 · JFK 23:58
    ♥ Do have faith in what you're doing.