gradle: Android Studio наследует тип сборки

Лексическая область означает, что функция просматривает переменные в контексте, где она была определена, а не в области, непосредственно связанной с ней.

Посмотрите, как лексическая область работает в Lisp, если вы хотите более подробно. Выбранный ответ Кайла Кронина в Динамические и лексические переменные в Common Lisp намного яснее ответов здесь.

Кстати, я узнал об этом только в классе Lisp, и это также применимо и в JS.

Я запустил этот код в консоли хром.

// javascript               equivalent Lisp
var x = 5;                //(setf x 5)
console.debug(x);         //(print x)
function print_x(){       //(defun print-x () 
    console.debug(x);     //    (print x)
}                         //)
(function(){              //(let  
    var x = 10;           //    ((x 10))
    console.debug(x);     //    (print x)
    print_x();            //    (print-x)
})();                     //)

Выход

:

5
10
5 

20
задан mars3142 13 January 2015 в 15:12
поделиться