Wpis z mikrobloga

zadeklarowałeś funkcję.
wywołując

var zmienna = greaterThan(10);
w "zmienna" trzymasz funkcję, której ciało wygląda tak:

return m>10;
bo 10 podstawiłeś wykonując pierwsze podstawienie. teraz naturalnie zmienna(11) to nic inego jak
return 11>10; czyli true

tak ja to widzę, ale specjalistą od JS nie jestem ( ͡° ͜ʖ ͡°)
@zolwixx: Ciało funkcji greaterThan() zwraca funkcję anonimową, która zwraca m>n. m można podać od razu jako parametr, czyli byłoby

function greaterThan(n) {
return function(m) {
return m>n;
};
}
console.log(greaterThan(10)(11));

zwraca true.

Warto poczytać o curryingu o którym wspomniała osoba wyżej.