diff --git a/DZ b/DZ new file mode 100644 index 0000000..5abbb64 --- /dev/null +++ b/DZ @@ -0,0 +1,46 @@ +Продумать, где можно применить замыкания для практикума из седьмого урока. + + Замыкания очень похожи на python-овские и могут использоваться аналогично, например + для подсчета количества раз вызова функции, скрытия переменных и обращения к ним + + + + +Не выполняя код, ответить, что выведет браузер и почему: + 1 + if (!("a" in window)) { + var a = 1; + } + alert(a); + // т.к. стоит знак отрицания значит а неопределена значит вывод undefined + + + 2 + var b = function a(x) { + x && a(--x); + }; + alert(a); + // у нас определена b(функция) а не определена ничего не выведет ошибка в консоли + + 3 + function a(x) { + return x * 2; + } + var a; + alert(a); + // т.к. var a всплывает при запуске скрипта то она перезаписывается функцией и alert покажет функцию + + 4 + function b(x, y, a) { + arguments[2] = 10; + alert(a); + } + b(1, 2, 3); + // локальная переменная заменит передаваемую в функцию и выведет 10 + + 5 + function a() { + alert(this); + } + a.call(null); + // что мы подставляем null и без null будет вызван obect .т.к. this вызывается в контексте окна window object