JSFiddle - React, Tailwind, and code Playground

by Mark McFadden

HTML

<!-- 
Closure example with add function
http://stackoverflow.com/questions/18252084/closure-in-javascript-with-multiple-brackets
 -->

JavaScript

function add(a) {
  var add = a
  function f(b) {
    add += b
    return f  //<- from second call, f is returned each time
              //   so you can chain those calls indefinitely
              //   function sum basically got "overridden" by f
  }
  f.toString = function() { return add }
  return f //<- after first call, f is returned
}

console.log(add(3)(4)); //--> 7
console.log(add(3)(4)(2)); //--> 9
console.log(add(3)(4)(2)(3)); //--> 12