Escopo de Javascript de variáveis
A saída é 15 (em f, x é considerado 10 e y é 7) com o seguinte:
var x = 5;
function f(y) { return (x + y) - 2};
function g(h) { var x = 7; return h(x) };
{ var x = 10; z = g(f); console.log(z) };
Por que x tirou o valor da 4ª linha e não da 1ª linha (e por que não a 3ª linha)?